Yeah for sure, but again, I think you'll find your system is a lot better if you buy a little more RAM. I'm assuming you have a 2x512mb kit, so if you buy a 2x1gb kit, with 3gb RAM on that system, you'll be in a good spot to play some games.
A 6670 would be a pretty good card for that monitor.
The card will fit and work with the board... but you will have a CPU bottleneck still, simply because that Pentium 4 is just too old.
-I'd assume you're running XP as well, most likely 32-bit OS so you'll only be able to use 3GB of total RAM (including your video card RAM) in the system effectively (to check this, right click 'my computer' and click properties, then read the info). If you are just looking to spend a little money to limp the system along to play some moderately new games, you could get a cheap card...
-ANY PCI-Express x16 card will fit and work, I ran a 2.1 card on an older board before without issue.
If you are willing to spend a bit more, you would be better off starting off with a new PC, even at a low budget... These new games today need multi-core processors to keep up with them.
The P4 is old, yeah, but it's not so bad. The 6670 is a good match for it, and he has a low res monitor. Sure he won't be able to play 64 player online BF3 matches, but he will be able to enjoy many, many games.
The RAM thing is true, though it's closer to 3.5gb useable on 32 bit OS. Either way, like I said, he should upgrade with 2x1gb for 3gb total... seriously, OP. Do it.
i have pendium 4 and when i run Command & Conquer: Generals (2003 game) ..in 30min the game runs slower and slower.. what games can he play? pendium 4 isnt even good for web browsing... i think it doesnt worth to upgrade..but the choice is yours...