Hey, thanks for reaching out!
One option which comes to mind when setting up a pool of build environments in Octopus would be to check out our (Immutable Infrastructure)[https://g.octopushq.com/ImmutableInfrastructure] capabilities for elastic environments. The documentation which I have linked you will show you how to deploy an infrastructure project that you can use to spin up new Tentacles as you need them.
Your requirement to determine the best environment for Octopus to deploy to can be addressed within an Octopus project. With this, you can use a script to determine which environment to deploy to, then trigger another deployment via the Octopus API to that environment.
I look forward to hearing if you have found this helpful. Please let me know if you have any further questions.