You can register your pools relay on chain as hostname and portnumber. So what you need in case your IP changes is a quick way to dynamically update the DNS A-record for this hostname to the new IP.
The next challenge is to also end up in other relay node’s peer list.
First the background: the implemented block and TX propagation protocol is made in a way that the receiver ask the sender for certain data. It’s not the sender who can blow out as much as he can, demanding ressources for all receivers to validate the incoming data.
Said this I haven’t tried it yet, but I would try to publish a hostname to other peers, with a relative low TTL, eg 2-5 minutes.
What needs to be tested is if the implemented cardano-node does consider this relative low DNS based TTL, and do a fresh DNS A IP lookup