Yup, you can. We just got this working. We use JBoss 3.2.2RC1. If you read the docs, it will explain this a bit better. But basically, in your client jndi.properties file, you list the IPs of each of the nodes in a partition you want to access. The first time your client gets to any one of those IP addresses, a "smart proxy" is sent back to your client. It includes some code to round robin or random connect your client to any of the IP's in the same partition. Now, you can specify just a single IP in jndi.properties, and you will still see that your client can load balance to any node in the partition that is joined to the same cluster. The reason is, each node gets updated every x seconds (configurable via the JavaGroup settings on how often it should broadcast via multi-cast). Each node is aware of other nodes in the same partition. So each time your client connects, if the "view" of the cluster has changed, your client is updated with the available IP's it can load balance to.
The reason for adding two or more IP's to jndi.properties is so that just in case the first IP is already failed, your client tries to connect to another server (node) so that you can at least connect to a clustered node.
Good thing is, you really don't have to do anything, other than add another ip or two to your jndi.properties file. JBoss does the rest.
Hope that helps.