There is basically 3 ways to do this, correct choice depends on your available h/w and requirements:
Method 1 [Ethernet ADSL Router with FireWall and IP Masquerading and Prefrably Firewall PNP]:
Purchase an Ethernet ADSL router with at least 2 ports and the port for the telephone line.
Plug each computer into the ADSL router, configure the ADSL router and the PC's to work together [Network IP Addresses and Gateway Configuration].
Configure the Router to automatically establish an ADSL connection whenever the 2 computers are not talking to each other.
Configure the Router's Firewall and IP Masquerading [default setup should do].
[Easiest method, sometimes the IP masquerading can become a problem]
Method 2 [Ethernet ADSL Modem in Bridge Mode through 2 NIC Server]:
Configure an Ethernet adsl modem to run in Bridge mode.
Plug the adsl modem into one network card on a server.
Plug the network switch into the other network card on a server.
Install decent FireWall + Chache + Routing software on the server to control your internet access and the ADSL modem.
[Requires that server run all the time, and that the FireWall S/W be of decent quality]
Method 3 [Ethernet/USB ADSL Modem in Bridge mode using WinXP Internet Connection Sharing]:
This is the most unstable type, and a game like BF2 will probably chew so much of your PC's resources, that there will be very little priocessing power left to actually control the ADSL connection and the firewall and stuff.
Have both Machines running Windows XP.
Connect the USB ADSL modem to the USB port.
or
Connect the Ehternet ADSL modem to the ethernet port.
Configure the ADSL modem to run in bridge mode.
Setup a dial-up connection to connect the ADSL modem to the internet with ISP login and passwords.
Share that Dialup Connection.
Configure the other machine using the Connect to Internet Wizard to use that machine as the network gateway [Other machine connects to internet option].
Hope that it works while you're playing BF2. [Depends on how fast the Sharing PC is...and the amount of hack attempts your firewall has to fight off]
Well - that's 3 I know of - I'm sure there's more ...
Ask.