Depends If your going to play on ultra high resolutions like 3 monitor setup the 670 will be good but still the 680 higher clocks might catch up even with the lower memory,if you have just a full hd monitor then get the 680 .
Well it depends on you resolution, if you are using single monitor and 1080p sure go for GTX680.
2 GB is enough for most of the games, I heard max payne 3 uses more than 2GB if you give it