mIRC already handles named addresses that resolve to multiple IP addresses. This is important, for example, when connecting to round robin server addresses that return multiple IP addresses for servers on that network. mIRC will try to connect in turn to each IP address until it makes a successful connection.

I have never used a ZNC, so I will let others who have more experience help out here, however what you are referring to sounds like a limitation of the ZNC or with how DNS itself works. For example, when you resolve a named address to a set of IP addresses, the Windows DNS resolver will cache that result, so any further DNS requests will use the cached result. I am not sure if there is a programmatic way of flushing the Windows DNS cache, however if there is, it will flush the DNS for the OS as a whole, and all other applications, so that is not something that any application should do regularly.