Respondendo minha própria pergunta:
O udhcpd pode fazer praticamente o que é necessário, combinando opções:
auto_time 1 #in segundos
notify_file /home/user/notifier.sh
O script é chamado toda vez que o arquivo udhcpd.leases é gravado, o que é de 1 segundo (conforme definido em auto_time). Então o script pode analisar as alterações.