I have to be honest, I’m having trouble following your logic without code examples. However, I will try to interpret your issue without examples.
I think you want to create unlimited enemies and have them move through your defined logic, while still being able to reference the enemies outside of the spawning function. If this is the case, using a “for” loop is probably going to be your best bet. If you take a look at my tutorial at panc.co you’ll see how you can spawn objects and assign identifiers to them. You can create a large amount of enemies off-screen and just run your transitions based on their identifiers.