"Future Proofing"

I want a gpu that will last 3~5 years. Would a 660 0r 660ti be enough, or should i go with a 670/680 or amd equivalents? I really don't know what to pick.

The bigger the better. If you can afford an MSI 680 Lightning, go for it. That should keep you gaming happily at full settings for 2-3 years. Not sure about 5 years. Nobody can predict the types of games that we will be playing 3-4 years from now.

If you want to be as future proof as possible, this would be the card to get:

http://www.newegg.com/Product/Product.aspx?Item=N82E16814102997&Tpk=6gb%207970

It comes factory overclocked, and you could overclock it even more yourself. Plus it has 6GB of VRAM, which is more than enough for current games. Not to mention that it should be more powerful than a GTX 680 with that overclock. It will only get even more powerful when you overclock it to its limits.

That's...a bit overpriced for me...but i love the suggestion

If that's too expensive then a regular 7970 is probably your best bet. 

Yeah, but would a 680 compare well? I'm very interested in Phsx and cuda.

A GTX 680 would definitely compare, but I personally like the 7970 more for a few reasons. The 7970 has more VRAM, which will allow it to run better with larger resolutions and more demanding games like Battlefield 3. Also, you can overclock the 7970 to perform better than a GTX 680, and the 7970 is more powerful clock-for-clock, which means that if the GTX 680 and HD 7970 were both clocked at the same speeds, the 7970 would be faster.

PhysX is just a marketing scheme. Very few games actually use PhysX, and you can just run PhysX off of your processor if they do support it anyway. CUDA is useful for things like rendering and has more support in the market right now than AMD's equivalent.