GIS applications for Window Mobile systems are readily available (e.g. ArcPad from ESRI, TerraSync from Trimble, Mobile GIS from Tensing), but tend to be expensive. I’ve stumbled across a free GIS viewer program for Windows Mobile systems; its successor, a GIS viewer and editor with GPS capabilities, isn’t free but is pretty damn cheap. I don’t currently have access to a Window Mobile system to try these out on, so what I’m writing is based on the limited documentation available for the programs.
The free version of GeoPad (1.1) is a Windows Mobile program capable of displaying vector shapefile data and georeferenced raster imagery (JPG format with a .jgw worldfile) in multiple layers. You can also measure distances, query by feature selection, query by shapefile attributes, and zoom/pan/center etc.. The zip file contains basic documentation, but also seems to contain the C++ source code for the application, so in principle you could crate a version customized to your specific needs.
GeoPad 2.1 is the more functional successor to GeoPad 1.1, including not just the viewer capabilities but also a shapefile layer editor and GPS interface. The following screenshot images are taken from the PDF helpfile available at the website.
Shapefile attribute and feature query:

Layer display (vector and raster); labeling by attribute:

Vector layer creation and editing:

GPS functions (including adding current position to shapefile layer as vertex):

And the GIS editor version of GeoPad is cheap, less than $10 ($9.99 for a single-user license, and $499 for a 100-user license). There’s a software developer kit (SDK) available for application customization for only $49.95. A trial version is available for download, but the website doesn’t indicate what its limitations are.
FWIW, there’s also a free GIS program called GeoMapper downloadable from the site. Installation was problematical for me (just keep hitting “Ignore” for any install errors, and enter anything you want for a serial number and password), the program wasn’t particularly intuitive to use, and kept crashing on me. On the plus side, the Visual Basic 6 source code is included, so you could always take a crack at making your own custom GIS from it if you want (not me, thanks).