One light for object shadow and another light for ground shadow
This is doable with layers and render layers as cegaton suggests.  Here is one way to set it up.

Put all your objects (except ground and lamps) on layer A.
Put the ground on layer B.
Put the "object shadow lamp" on layer C.
Put the "ground shadow lamp" on layer D.

Set up your render layers as follows:
Render layer one (objects and object shadows): include layer A (objects) and layer C (object shadow lamp).  Exclude layers B and D.

Render layer two (ground and ground shadows): include layer B (ground) and layer D (ground shadow lamp).  Exclude layer C.  (Do not exclude the objects on layer A, you still want them to cast shadows.)

Don't forget to check "Transparent" under the Film tab in the render settings.  You can handle your background/environment in another render layer, with no objects and an Environment pass.

Then composite the two layers with an "Alpha over" node.

Objects and object shadows:



Ground and ground shadows:



Composite:



Composite with environment: