There's lot's of gnutella programs to try.

Your response surprised me too, I just moved the other posts into its own topic.
If your router utilizes UPnP then there are up to date gnutella programs that can usually communicate with such & open a port when needed for listening & connecting, etc. If your router does not have a reliable or any UPnP support, then not much can be done on that front if you cannot port forward.

You must have a static ip address in order to port forward a router.

I do understand some ISP's are a bit touchy about users deciding to set a static ip on their own. It's purely a marketing ploy. Even when I set a static ip address, my external ip address kept changing every few days at least. Thus had the effect of a dynamic ip address but the internal address was static (stayed the same.)