I'm currently playing games such as Farcry, Half Life and IV: Oblivion etc on an old 8400GS and am thinking of upgrading.
I was going to get the 560ti now, but are not sure whether to get something cheaper like the GTX550ti, GTX650 or maybe a used GTX460 instead and use it for the next year or 2, and then just build a complete new system with a much higher spec card next year?
Looking to play Skyrim and Crysis @ 1280x1024 and card cannot be any longer than about 7.5-8" as the SATA ports are in the way
An HD 7770 is the way to go... it's better than the options you listed and would be plenty of power for 1280x1024 gaming. Also, your CPU is going to bottleneck anything much more powerful than that like a 560ti.
7770 is perfect, however if you just intend to keep it for a couple of years and play in this resolution, you will get covered with an HD 7750 or GTX 650 too, whichever you find cheaper. I find it more cost efficient than buying 7770, unless of course you intend to play on higher resolutions with this card in the future.