I currently use a 6600GT and it runs BF2 fine. No lag or whatever although I have a strong system to back up the video card. If you just want to play BF2 and save money for the future the 6600GT would be a good choice. Although if you have lots of money to toss into a nice graphics card by all means go for the big dogs!...
Good Luck!
Good Luck!