Well basically you need VPN software that allows you to set the communications port.
OpenVPN (surely) can be configured to use port 80 (http) or 443 (https) and is available as open source for linux, mac and windows (not sure about your claim of it being not so free?)
You'll have to configure OpenVPN on both machines and enable port forwarding for the port you've chosen on your router at home.
Keep in mind that those blocks usually exist for a reason and someone might not be all too happy about you bypassing it.