Hey James, from what I understood you are basically having issue with how to show a different number on the Caller ID for each of your users, as the numbers you would like to use are already being used for the call flow. Right?
Well, I'm not 100% sure, but I think you can set the "Work Phone" contact of each user with any numbers (Even if it's not a DID created on your org), and that number would be used when your user calls. Have you tried setting the desired numbers this way?
If that doesn't work, I believe you can also use an user's extension. So you might be able to create an extension using the same numbers as the DID (Haven't tried, just an idea).
So maybe, let's say your DID is: +11 2222 3333
You might be able to create an extension as: 1122223333
Not sure if that even helps you, but maybe it gives some direction.
Also keep in mind what is on the documentation below, as you need to setup your trunk so that the calls get the Caller ID number from the appropriate source (Be it the extension, or Work Phone from the user, or a queue, etc.):
Use the Prioritized Caller Selection feature to configure caller ID information - Genesys Cloud Resource Center
------------------------------
Marcello Jabur
------------------------------