I think using non-clustered topic + selector is a good idea. (your method 2). Because it seems a easy way.
If you deploy your MDB as a ha-singleton, wouldn't it fill up your requirements ?
1. Only one node consumes messages.
2. message sucker will migrate messages from other node to this one.
The only issue I see with this solution is ordering.
Messages sent to other nodes will be processed after the one generated locally.
I didn't know you could do that with JBM. So you can just deploy your MDB in a sar project in deploy-hasingleton and it works?