I was wondering if it possible to setup local area network domain names, so for instance if I asked for local-server.org, the dns server would automatically send me to 192.168.1.111 (it would "take over" if there is actually a local-server.org out on the internet). I would imagine that I would do this through bind (bind9 to be exact), but im not sure how to go about doing it unfortunately
Yes, it's possible to do that, and people/organizations do it all the time.
What you need to plan for, when doing it, is that is not useful to give answers pointing to private address space to people outside your private network so you need a mechanism to prevent those answers from being given out to just anybody who does a query.
BIND 9 has a mechanism called "views" to allow you to respond to queries using one set of answers for one group of clients and another set of answers for other clients. It's pretty much designed for exactly what you want to do.
What most people in your situation do is set up two views, "internal" and "external", and address match lists to match the appropriate views. They then selectively provide answers based on which address match list the querying client matches -- in your case you might set things up so that a query from a source address in 192.168.0.0/16 receives answers from the zone data configured for the "internal" view, everybody else receives the "external" view.
Information on view declaration statements and address match list syntax can be found in the BIND 9 Administrator's Reference Manual, which is distributed electronically with BIND source (or can be found on-line at http://www.isc.org/software/bind/documentation )