I help run a game server called Day of Defeat Source which has an automatic kicker for anyone with a 'ping' higher than 250. The trouble with people with high pings is that the game server attempts to level out everyone's gameplay and therefore high pingers slow everyone else down. Get a few high pingers on and the game becomes almost impossible to play.
To help reduce your ping you should have nothing unneccessary running in the background and certainly no downloads. Make sure your firewall is set up with the neccessary permissions.
Are you sharing your Broadband with another pc in the house?
BF2 is quite a demanding game for a pc, is your pc well above the minimum spec?
Also, you can join some of the BF2 forums, they will have a lot of info to help you and will no doubt assist you if you ask.