It is possible to implement a custom deployment or node selector.
The first one will choose, independent of clustering, the machine that can handle the invocation. The second one will be asked for failover, if the session data are replicated between the instances.
The default implementations of both selectors are random.
This blog post describes load-balancing and failover mechanism of the EJB client library: http://blog.akquinet.de/2012/11/09/load-balancing-and-failover-of-remote-ejb-clients-in-eap6-and-jboss-as7/