You don't have to do that. Use just 1 single selector and set it once during the lifetime of that application and let that selector then do the necessary EJBClientContext creation and handing out. I can give you an pseudocode example on how to do this, but what criteria do you use to identify a client with a destination server? I mean, I need more details about this part:
Our code is wrapping the proxy returned the InitialContext.lookup to globally lock before preceeding with an ejb call