Doesn't dynamic DNS solve this problem? I have used that for a service on a home server set up for friends. I haven't had any connectivity problems using the dynamic DNS address, although, to be fair my dynamic IP address has stayed remarkably static.