Sort of difficult with ip address; but, really easy with URL. If you have an open source router perform ddns updates, and port forward, then there is no problem accessing HFS the very same way (via URL) from internal or external.
Given a Tomato, DD-WRT, Gargoyle, OpenWRT, (and many other reasonably good routers), port forwarding would allow you to access HFS via external address.
You don't want to use HFS inbuilt ddns update which can change hfs to external address so that it can't work with port forwarding!
But, instead, HFS needs to use loopback or PC's own (ordinary) static lan address so that router port forwarding is able to work.
Therefore if you do DDNS, then do it at the router itself.