I'm trying to create a static DNS entry (Windows 2003) to a server outside my network. Server is on a different subnet which does not show up as a zone on my DNS server. Would I be better off just using Windows hosts file for this since I only have one zone in my DNS?
A few things:
You wouldn't add a record for the server to a reverse lookup zone because you're trying to resolve the server name to an ip address. That's what forward lookup zones facilitate.
Reverse lookup zones resolve ip addresses to names. That's not what you're trying to do.
Whether or not the server is in your subnet or not, you can create a reverse lookup zone on your DNS server for any network/subnet you wish. You're not limited to creating reverse lookup zones only for the subnets that are actually in use in your network.
You're not limited to creating forward lookup zones for domain names that are in use in your network or that belong to you or your company. You can create a forward lookup zone for any domain you wish. For example, if I set up a forward lookup zone on my DNS server for google.com, then my server is going to be authoritative (within the scope of my network and for my DNS clients) for everything under google.com. Granted that presents some challenges for users who actually need to resolve legitimate DNS records in the google.com domain, but there's nothing technically to stop you from doing so.
Why not just create the record in the DNS server responsible for that subnet, then make sure your DNS server can query the other DNS server?
Edit: Create a DNS A record in your DNS server that points to the IP of the server and call the A record "SERVERNAME". It will work based on what you've said above.