Would you ever have "foreground" objects affected by light?
My idea would be to have all foreground objects on an upper layer. A darkness mask object on top of that layer with multiply effect on the object, and source in, with force own texture on the layer.
This will color all foreground objects with darkness, without affecting any layers below. This layer will not be affected by the light.
The middle layer below that will contain the white light objects. Set layer to non transparent, the background to the same color as the darkness mask, and apply multiply effect to the layer.
The bottom layer is your floor. Anything on this layer will be affected by the light layer.
Edit: Example - dropbox.com/s/8pplu6nkogp6yfc/lightlayersexample.c3p
You can always use an object for the middle layer too instead of the layer itself being the color.
Your Z-ordering should all happen on the uppermost layer, so that should be fine, assuming you never z-order below your floor.
The problem happens when you want something to be lit, but on top of a foreground object that you want not to be lit. If that's a thing that is possible...
Edit 2:
I guess never mind, there are tons of issues with this. It won't work if you want your light z-ordered along with the rest of your objects. It will also still look weird even if it is z-ordered along with everything else - for example if the light origin was above/behind the base of the tree, but extended past/below the tree, you would need a shadowed area.
Night mode is hard ><