OS X has a built in VNC server. Go into System Preferences, then Sharing, then click on the 'Apple Remote Desktop' listing, and click 'Access Privileges...' That will open up a sheet that lets you turn on VNC and specify a password. (Please note that even if VNC is on, you still have to turn on the main Remote Desktop checkbox.)
Then you need a VNC client. I use
Chicken of the VNC on Mac OS machines, and either
RealVNC or
TightVNC on Windows.
Then you have to know your home machine's IP address, and if you have a router, make sure that your router is forwarding ports 3283 and 5900 to your internal machine. (Which means setting that machine on a static internal IP.)
If your internet connection gives you a dynamic IP address (which most home-level ones do,) then either you'll need to look up your 'external IP' address before leaving home every time you want to do this, or use a service that maps a domain name to your changing IP address, like
dyndns.org (They are who I use for this very purpose.)
edit: Ah, as swiftaw mentions, you may really just want to access files, not the whole screen... If so, then ignore the whole VNC thing. You'll still want to use something like dyndns so you don't have to remember your IP address, if you have a static one. But instead of turning on Remote Desktop and forwarding the ports mentioned above, you will have to turn on Windows Sharing, and forward ports 137, 138, and 139. Then, to connect remotely, from your Windows machine, go to the Start menu, then choose 'Run' and type \\your.external.ip.address or \\your.dyndns.org.name (So, for example, if your external IP address was 4.2.2.4, you would type \\4.2.2.4 if your dyndns.org name was dxl007, you would type \\dxl007.dyndns.org )