Oh dear, sounds like a distributed testbed might be required before long. They're not that tough to put together, but I would recommend trying to do it properly the first time rather than cutting corners - I've seen people put together a nice pool of hosts but then skimp on the scheduling logic and try some manual assignment of tests based on their assumptions about how long tests will take.
Instead, if you need to go this route, I suggest just a big pool of tests and then allocate them to hosts from a pool as and when the hosts become available. It's actually pretty efficient if you keep each host with one running test and one queued test - that means you've got all the time the test takes to run to get another test queued up locally.
The biggest PITA is usually the UI for queuing up a test run and the job of getting the code to test put everywhere. It's not intrinsically hard, just the fiddly sort of problem which is heavily dependent on your source control system, etc. Plus it's a big step from being able to run tests on your local host, which is the sort of convenience people get used to.
Or just speed up the existing tests, I suppose. Bit of an "or we could use the teleporter" moment. (^_^)