Can each Viewport have its own lighting and background?
For lights you can do this is by using different classes for different lights or groups of lights, then having the appropriate class(es) on or off in any particular VP. I do this with different sun angles all the time.