On your Linux box (which has a modem connected to the Internet) you can either run a proxy server such as squid or setup Network Address Translation (NAT). Running DHCP is optional, if you want to emulate the windows "connection sharing" then you should run DHCP, however manually configured IP would do. Note that on your windows machine you have to specify the default gateway as the IP address of your Linux box. To setup NAT on your Linux box visit http://en.tldp.org/HOWTO/IP-Masquerade-HOWTO/
, if you prefer running a proxy server (which would require some configuration on your windows client, such as specifying proxy settings for your browser) then run Squid.