Eu acho que você pode fazer isso com o sistema de gancho suportado pelo ISC Kea (que é o pretendido para ser substituição para o ISC dhcpd). No KEA você pode escrever seus próprios ganchos que são executados em estágios específicos. Nesse caso, os ganchos subnet4_select e lease4_select teriam que ser implementados. Em subnet4_select, você faz com que o KEA escolha a sub-rede correta e, no lease4_select, você oferece o endereço IP correto. No entanto, desta forma você terá que escrever uma grande quantidade de código C ++.