I'd generally recommend keeping one cluster per data centre and using Cross-Cluster Search . There is also some commercial functionality around this in the form of Cross Cluster Replication.
Don't you find latency between the nodes is too much of a problem when each node is in a separate data center?
I would still make sure there are 3 nodes. The problem with 2 is that you get no redundancy - if one goes down the entire cluster should go down. If it's not configured to do that, 2 nodes has the potential for a split brain problem, see this discuss question for info, especially this answer on what to do with 2 nodes. So this is why I would add at least one more node - then one of them can go down and the cluster keep running with 2 out of 3.
Overall I definitely wouldn't recommend running a cluster across 2 data centers, the nodes talk a lot between themselves when you're adding data or if a node fails. Unless the 2 centers are right next to each other, you're going to run into serious trouble as you put load on the cluster.