I've used BadBlue before. Evaluation is free. You run a program like freeDNS to give you a web address if you have a variable IP. It has good security and is a breeze to setup.
If you know how to setup web hosting services on your machine, you can skip the program like badblue and set it up yourself with the DNS program then just make sure you share the folders as web folders. The obvious advantage here is that you can display web files in someone's browser just like any other webserver.
I personally use a script called BWI for mIRC. I have about 10gb of files that can be served up upon request in a certain IRC channel. I haven't tried to configure passwords or anything but I think it's possible.
Other options include PCAnywhere, Citrix, and Windows Terminal Services if you want to share applications or have more options at your disposal. All of these take some practice setting up (PCAny being the easiest probably) but have many more capabilities.