Halo don is right 460's match 6870. For d3 the specs are now out so 2 X 460 should be an overkill for the game so you'll run it at the highest details. BF3, it's hard to say but my guess is that you'll run it medium with some high textures.
Well depending on the motherboard you have, I would go with the GTX 570 or ATI 6950. 1 card will let you 1 more space for upgrading your PC at a later date. It also gives you a better image quality, since scaling with 2 GPU will oftenly give you some artifacts. It's your call Also, 1 card is easier to sell than 2 cards when you wanna completely change your GPU solution.
I personally would go for the 6870 crossfire(Since I own a single 6870) but i've been hearing a lot of people having problems with it.As well as Tom's did an article on it saying that anything below a GTX560ti or a 6950 will get lots of micro-stuttering.