If I correctly understood the direction in which you want to go, you want to access the data you have at home, while you are at work. That's a little backwards from the direction that most people want to go -- that is, they want to access the data they have at work, while they're at home.
The difference is in the connection. Most businesses spring the extra cost for one or more static IP addresses. Most residential hookups, such as standard DSL, use a dynamic IP address. Most ISP's charge extra for a static IP address -- if they even allow them! Many ISP's have terms of service that do not permit home servers, and they will not supply a static IP address to make it possible.
That's the reason GoToMyPC was started -- they have worked out a way to provide an intermediate step with a static IP that you can always reach, and they monitor your home connection to keep up with the changes in the dynamic IP address. In other words, you always know where to find GoToMyPC, and they always know how to connect to your computer. For you to so the same thing on your own, it would require someone to be home and use your home computer to see what the current IP address is, and then phone you with the address.
If you are lucky enough to have an ISP that will provide you with a static IP address for free or for less than the GoToMyPC fees, that might be the way to go. Otherwise, you're stuck with the 3rd party service.
The only other way to do it is to ignore the internet and your DSL service, set up a phone line hooked to your computer with the modem set at auto-answer, and install a remote-operation program. The problem with that is that you will be at the mercy of the dial-up speeds, which will really make a remote-op program slow down. Also, you may have to maintain a dedicated phone line to get through anytime, and that may cost more than the GoToMyPC service.