Hi!
First of all, in my answer I assume that you need to keep session/cookies for this test (otherwise this could be done in a much easier way).
I think you're using the wrong approach here. 5000 different soapUI TestCases would likely use way to much memory. If I understand you correctly, the only difference between the TestCases would be the authentication used? If so, you could achieve the same thing with a single TestCase. All you have to do is parameterize the username and password.
The problem then becomes controlling which username and password is used. If you're a soapUI Pro user you simply use a DataSource, which you configure with all the credentials, and set to be shared between threads. As long as there are at least as many sets of credentials as there are concurrent requests, you should never have the same username used by different threads a the same time.
The only thing left now is agent distribution. To give you the best answer regarding that I need to know what type of DataSource you are using (CSV, Excel, Database, etc.)?
Regards!
/Henrik
eviware.com