Can you live with round robin?
Also, I seem to remember that, if you set a long queue timeout, and the the member actively rejects the call, further agents will be tried in least recent order. Only when the timeout expires will the list of members to call be re-evaluated. The rejection could be the result of a local channel timing out the call to the agent.
Asterisk always builds a full list of available members, in the specified order, but, if the member ring out, no one later in the list will be tried.