new layer manager proposition

coming from a lightwave background, there are 2 features that I miss incredibly, the ability to have as many layers as I want and the ability to limit lights to illuminate on a per object basis- now blender allows you to limit the light on a per layer basis, but not per object. this 20 layer limit means you can only have 20 objects illuminated separately, or only 20 objects on different layers which is frustrating for large scenes

so to solve the first problem, the problem of the 20 layer limit, im throwing around an idea for a script that I would like to write, the idea is that the script would create a layer manager in the background, that could have dozens, hundreds or even thousands of customised/labelled/icon layers for your objects, you could switch these layers on an off, use them exactly like you would use the existing 20 layers in blender-

the way it would work is as follows:

look at the diagram: should be self explanatory, but
you designate 2 of the existing 20 blender layers for exclusive use by this script. You would keep the first layer selected and the second one unselected,
my layer manager would then allow you to spread your layers out over dozens of virtual layers- as you select the virtual layers- the object data would be copied to blenders layer 1, as you deselect the virtual layers, the data would be copied to blenders layer 2- so that would be a simple hack to integrate more layers into blender.

im now trying to see if this idea would be feasible

firstly what problems would you foresee thus far?

For the second feature I miss I would love to be able to create a hack, that would allow you to limit the lights on a per object basis- but I dont see how this would be possible- is there a way to send data through to the renderer one layer at a time, or something like that, so that you could place the first lit object in layer one- send it through to render, place the next lit object again on layer one- send that info through etc- I dont have much of an understanding of the render process, so im not sure how I could hack this feature