I think I see what you are trying to achieve here. You threw me a little when you said one site was public and one wasn’t. The fact is you can’t send PPC visitors to the site with mention of that drug as it’s against Googles terms.
So you need one website without the drug content to satisfy Google so that you can pay them loads of money for traffic. Then you still need a website the contains the drug content. It’s ludicrous to think you’d have to manage two websites with the same content apart from maybe a couple of pages and a call to action somewhere.
You can have two separate sites and sync the content either through plugins or writing your own logic, I’ve done it on a few occasions but it just doesn’t give me a good feeling if you know what I mean.
What I would do is have a single website but set it up so that it is accessible on two urls. You can do this using multisite domain mapping and map two domains to a single site and I’m sure with some additional settings in wp-config.php you could achieve this with a normal WordPress install (not multisite).
Then create a very basic plugin that removes the drug pages from the menu when the site is accessed using host=googlenodrugs.com.
You could also create another simple plugin to remove content based on a shortcode so that you could hide blocks of content/calls to action like [drugcontent] get your diet pills now [/drugcontent] and then based on the host name the website is requested on, you could either display that content or hide it.
Then for the googlenodrugs.com host name you can either implement a .htaccess rewrite to the correct robots-noindex.txt (transparently) that tells Google not to index or you can output the correct robots tag in the meta of every page when the host is googlenodrugs.com. Personally I’d go for the .htaccess redirect of the robots.txt content.
Is that what you were after?