you don't need a fixed IP. Just use
dynDNS to get an address (like "somenameIlike.dnsalias.com") so you don't need to know your computer's IP when you try to connect.
1) At home-> install ssh's server, generate RSA keys, and get the correspondent files to your work's computer (read an ssh tutorial somewhere). Open your router's tcp's 22 port, and forward it to the computer with ssh in it.
You should probably edit your /etc/hosts.allow file, etc, to allow only IP's you know to connect to your computer, otherwise your log is gonna get terribly full of "authorization failed... someIPfromchina ... user/password wrong" kinda lines from people who have too much spare time in their hands.
2) At home -> install "inadyn" to update your IP to your dynDNS address, and run it before going to work, or just keep it running in the background(as a daemon).
3) At work -> get putty? or any other program that can run a shell/ssh, and try having steps 1 and 2 clear, try "ssh
myusername_at_home@subdomainIchose.dnsdomainname.com", it'll ask your passphrase, and voila.
You can also use "ssh -X ..." to connect, to use X programs too, but you need an X server/compatibility program on your work's machine.