There are plenty of different ways to accomplish this. Most versions of Windows (yes, even XP Home), allow for a VPN connection to take place. To do this you create a new network connection that allows for incoming connections, and make sure the IP addresses they are assigned are on your local network.
If you have an extra computer laying around with >512MB RAM, you could try setting eBox as your main router/gateway. It supports VPN connections as well as file sharing, password authentication, etc.
If you have a computer with more than 1GB RAM, try untangle, as Russ mentioned. I found it a little easier than eBox to setup, but a lot of the cooler modules require $. The basic software and modules are free, however.
If you don't mind replacing your router, check into purchasing a Linksys WRT54GL. The benefit of this device is that you can put the DD-WRT firmware on it, which allows for advanced network setups including vlan's, wireless bridging, and VPN's. The WRT54GL will set you back about $60, and the DD-WRT firmware is free, so this is a rather inexpensive option.
Because your office is so small, I would recommend using an SSH tunnel instead. I won't go into too much detail, but when you create a VPN tunnel, there is a chance of all network traffic going from the home network to the work network. This becomes a problem when the home machines are infected with trojans/virii/malware. With an SSH tunnel, only specific traffic gets forwarded to the remote machine. So when the users browse the internet, their traffic never hits your network. But when they want to remote control their own machines, the traffic goes to the work network.