Would it be better to SLI my GTX 660 or sell it and buy a 7970 or GTX 670 and possibly Xfire/SLI that in the future?
The GeForce GTX 660 you currently own is great, and in SLI would be a great setup. But, a single GPU is always better than two slower mid-range cards, as you have the ability to slot in another one.
I would suggest getting yourself a single GeForce GTX 670, and then as you need the extra performance, grab another and throw it in for some GTX 670 SLI action. The GTX 670 is a great GPU and in SLI, you'll get some seriously slick performance out of it.
With GTX 670s in SLI, you should be able to run every single game out now at max settings at over 60fps at 1080p.