Any regular Web site host that lets you upload files should work fine; we have a coupon code for Dreamhost on our Resources page:
http://www.e-junkie.com/ej/resources.htm
You would use an FTP program to upload your product files to your server. FireFTP is a nice Firefox extension that adds an FTP function to that browser:
https://addons.mozilla.org/en-US/firefox/addon/684/
Most Web hosts provide a special folder on the server that your Web site pages and any other Web-accessible files need to be uploaded into; this allows you to upload some files that would remain inaccessible via the Web by simply leaving them outside that special Web folder. That folder's name varies from one host to another (it might be "www", or "public_html", or may even match your domain name, or something else entirely), but for demonstration purposes, let's suppose that special folder's name is "webfolder"; if you upload a product file into this folder/subfolder location on the server:
/webfolder/subfoldername/filename.ext
...then this would be the Web-accessible URL of that file:
http://www.example.com/subfoldername/filename.ext
Note that since files need to be in /webfolder/ to be Web-accessible at all, that folder name isn't included in the URL itself, as it's implied by the fact you're using a Web URL to access the file.