Well, multi-homing a DC (I assume that's what you mean by 'with a domain') is not recommended. What I'm about to explain is not recommended either. With that out of the way...
For 1 you can install the windows DCHP service and configure it to only listen on the NIC connected to the internal network.
For 2 and 3 you can install something like Kerio Winroute Firewall and enable NAT (and transparent proxy/cache and a ton of extra functionality if you want/need it).
Again, this is not recommended. If you are able to get other machine (even a virtual machine) with 2 NICs you can install Kerio Firewall (or better yet something like ipfire or pfsense which are free) on it and use your current machine for DHCP. You can also run one of these in a virtual machine on your current pc after un-binding any protocols from the NIC connected to the external network.
In any case don't forget to un-bind any protocol (except for TCP/IP) from the NIC connected to the external network. This helps a bit with some of the issues when you multi-home a DC and it's a good security practice.
Hope this helps.