2
ATM you cannot add additional fields to the user table without hacks. However I am working on a system (planned for XOOPS 2.1) that will let you define custom fields for a member's profile.
In the mean time I would reuse one of the existing fields you might not use for other purposes (such as Location, ICQ or AIM). This would only require modifying a few language files, and remembering which field you stored this information in. Using this method will allow you to upgrade to new versions of XOOPS as they are released without having to re-do your hacks for each version.
Also if you wish to search for users based on proximity to a zip code, take a look at the ziploc class located:
http://www.sanisoft.com/ziploc/
If you are interested in the general method to determine the distance between two global points, this article explains the various methods:
http://distance-calculation.com/Distance-Calculation.asp