Sounds like N^2 time complexity to me... that will get slow in a busy system.
I recommend a different approach:
Imagine radial lines going out from the station making many pie slices.
Now, slice those pies with circle cuts at various radius's from the station.
Fleets ask the station for a pie slice that fits their fleet size. (larger fleets being farther out around the station)
Given each ring of slices, the station gives them out in a pseudo random order.
The station doesn't need to know if a slot is still being occupied or not, it simply knows it's unlikely since it would've had to cycle through all the other slots in that ring before repeating the pseudo random selection.
If there are still issues, there are two extra measures you can take. One, favor rings that haven't been used as heavily if the ship is "close enough" to fit that orbit radius. Two, each time a ring completes a pseudo random cycle, offset the whole thing a half slice. This way, even if you filled it up again, the ships would only overlap 50%.
The result is trading O(n^2) processing for O(1) processing and O(1) memory.