The rule of thumb is: one DHCP server per L2 network. But then ... you can always make a static DHCP lease for certain MAC address (you can't easily define different gateway etc., so it's hard to force a device into non-default subnet. There's possibility to add DHCP options though).
But then, if you don't have subnets separated on L2 (e.g. by using different VLANs), it's hard to talk about subnet separation ...