Scope of a Repeat call

Sounds like you are looking for a recursive solution.

Does the SP always suggest alternates or at some point does it return an empty list of alternatives? What does the SP return when it succeeds?

Assuming a Flow service getUsername exists that accepts a single username and returns a boolean registeredSuccessfully, a list of alternate names (optional) and whatever data is returned for a successful registration:

1.0 Invoke getUsername Service with desired name
2.0 Branch on registeredSuccessfully
2.1 false: invoke getUsername with altName[0]
2.2 true: return successful registration data

The implementation will vary depending on what the SP actually returns. Attempt to minimize calls to the SP and the size of the stack of recursive calls.

Mark