I need a best practice here if someone can help me!

We have 3 sites, with 400 computers at the main site, and each remote building has 100 computers (total 600).

When we deploy a bundle, I want to spread the deployment across all three sites, but only do SOME each night. For example, let's say I want to deploy a bundle to 50 PC's each night for 2 weeks, but I want the assignment to be random, and only between 11PM and 1AM.

One idea I had was to assign the PC's to dynamic workstation groups, based on IP address (our sites have different IP ranges). But then, I am hitting ALL of the PC's at each site when I assign that group to a bundle. I really want a random spread.

Is there a best practice for this? Maybe a way to assign the bundle to the WORKSTATIONS group, but have it limit the deployment to 50 workstations each night for a week?