A regular dns server can't give 2 different answers depending on the source of the query.
So, you should use another name to access your webserver internally, or you can use a different nameserver for internal and external queries, or you can play with iptables to forward the traffic from one IP to the other (maybe not the nore efficient solution).
Another solution is to add the name and IP of the webserver in the hosts file of every client (exists also under windows, smewhere lost in the middle of the windows/winNT directory). I don't think you can push these entries through DHCP, but that might be worth checking as it would be an easy solution to implement.
Hope this helps