I'm assuming you're running Windows, which I'm not super familiar with these days. There may be some software which does this exact thing.
You could do this in a couple of ways. The first is by running a proxy. There are some lightweight proxies you can run on your local computer (I think there was one called Proximotron back in the day which worked on Windows), or you could create a proxy server for your entire network (Squid proxy server is generally well-regarded, I believe). The proxy would likely have settings for filtering you can use.
Another way would be to run your own local DNS server. If you have a nice router (or a junky Linksys router running Tomato or DD-WRT), your router may be able to do this for you. You can also just set up a DNS server on a local box and modify all your other computers' settings to point to it first. If you distribute your DNS server settings via DHCP this should be easy, as you would just add your local box as the primary DNS. Then on your server you would configure it to act as the authoritative nameserver for
www.example.com or whatever you're trying to block and return an address in the local block which is not in use.
I don't know if either of these solutions let you turn sites on and off "like a faucet", but they're the ones I came up with off the top of my head.