A 256Kbps internet speed should suffice your online gaming needs. The only problem that you should concern yourself with is PING. The higher your ping, the more you'll get kick out of servers and the more lag you will face. Mention the place where you live. This will help you find a better connection as pings differ from service to service and place to place. Well mostly...
Data usage for per session would be approx 30-50 mb, depending you session time. and game. So i suggest you invest in a connection of 1GB free usage atleast.
I get approx 90-180 ping with Indian servers of BC2 and other servers are almost unplayable.

Stupid BSNL.