Not sure if this will help but anyway, I don't use vlans any more, but do have 3 sub-nets in my home/office environment for clients - 192.168.1.0/24, 192.168.2.0/24 and 192.168.3.0/24. Have two dhcpd servers, both of which can provide addresses on all three subnets. They are running ISC's dhcpd, as Nick indicated, and have a master/slave synchronizing relationship. Each client has a specific number for the last position in the guad-dotted address. Addresses are assigned by MAC. For example my Windows 8.1 laptop is assigned 39. So if it is connected to the 192.168.1.0/24 sub-net it receives a 192.168.1.39 address, similarly 192.168.2.39 or 192.168.3.39 when connected to either of the two other sub-nets.