I host two websites that are accessable from the Internet by podcast.example.com. They are one-to-one NAT on an internal network. On the internal network, I would like to have the hosts type podcast.example.com into there browser and the request go to 192.168.168.240 instead of the public IP. I have 30-50 hosts on the network so going to everyone and modifying the host file is not really an option.
Your description is a bit scary, in that the outside world has access to internal web servers. MDMoore's suggestion, about separate DNS servers, is accurate. I'd go one further and say that you should be hosting the web servers externally.
That being said, if you're forced to work with what you have, what you are seeking is the "view" feature in BIND9. Take a look at the following two links. Pay attention to the "acl" and "view" statements.
The short version of what this does is alters what is returned in response to a DNS query, based on the network address from where it was asked.