For the games you want to play you need to go with the GTX 670 because the card supports nivida physicx. This is used in games like boarderlands and crysis and it makes the physicis of the game much more realisitic.
the only reason i would recommend the 7970 is if your wanting to run multi monitors, but you should go with the 670 for sure!
there are some more benches of the games you asked about, still looking for Borderlands 2 and Crysis 2 (but 90% sure the 7970 has the edge to Crysis too).
And keep in mind the 7970 will also overclock better then the 670.
I dont know if you actually looked at the benchmarks but the gtx 670 and radeon 7970 have practaly the same fps, so really their is no difference except physicx
....this is a big deal in the FPS games the OP listed, and I personally on my 50hz HD panel I dont notice tearing at around the 60fps that most of these games will run at with either card, so cant really see why someone would opt for a drop in performance (670) just for input lag laden adaptive vsync that's going to be disabled anway?
But this is just my option, and I may well have poor eyesight!
Second, PhysX would be handled by the CPU rather then the AMD card, so without knowing the OPs CPU and seeing comparative benchmarks it think its imposable for us to say if if it would be better or worse the a nivida card.