Is /etc/resolv.conf changed every time my DHCP lease changes?
You could write a launchd that monitors the file path of:

/private/var/db/dhcpclient/leases/  

If you looking for DHCP changes to an interface.

That db holds all the different interfaces and dhcp changes on them.  Something similar to monitoring that file with a launchd here.