The best option it to get an hosting with the same features you need. So the bandwidth won't be limited by your connection speed.
If you want to run your website from home, you need to check if your IP is static or dynamic. If dynamic, then you need to use a system like dyndns or freedns, where you register an account, you setup with your domain and update your IP each time you connect to internet. Some routers can connect automatically with those services, so you're always online. There are also client programs used to update the IP.
If you have a static IP address, then you need to setup your IP on the domain control panel.
Then you need to setup the VirtualHost on your apache config for your website, and write the domain you choosed, the port used by the server and so on. Check here: http://httpd.apache.org/docs/2.0/vhosts/examples.html