Yes, it's possible. It can even be easy...but there is a price.
If you're on a network with another linux box (let's say it's called <otherhost>, with ip address of <otherip>), invoking X like "X -query <otherhost>" or "X -query <otherip>" *might* do the trick for you. (*Note -- using hostnames only works if you have a proper nameserver on your network, or if you have added the hosts to /etc/hosts. Otherwise, use IP addresses!).
I say *might*, because performance (at least with a USB nic), is pretty marginal. Gnome and KDE just write too much data to the screen...fvwm is a little more agile, but still lags a good deal. However, it's good enough to do basic Mozilla browsing and email...just be ready to wait when big chunks of the screen change.
You do have to set up XDM on <otherhost>, and allow connections from the iPaq.
As this is *very* insecure, I do suggest that you only do this if firewalled (either by a dedicated router, or within the linux box, e.g. set up with two network devices. If you place your iPaq on an exposed segment, at the very least give it a non-routable address (such as 192.168.x.x) and set up the interface and routes on your linux box appropriately!
On the "plus" side, this desktop looks *just like* the desktop of the user in question on otherhost ('cause it is!)
On the "minus" side, because everything is being served from <otherhost>, there is a *lot* of network traffic, which is pretty slow.
Check out http://www.linux.org/docs/ldp/howto/XDMCP-HOWTO/index.html for a quick synopsis of what's required for setting up XDM.
A faster solution (that's not quite as convenient, but *much* more responsive) is to use the local machine's window manager (currently Blackbox), while redirecting DISPLAY from <otherhost>.
From the iPaq:
"xhost + <otherhost>" or "xhost + <otherip>" (allows <otherhost> to display on our screen)
"telnet <otherhost>" or "telnet <otherip>" (or ssh, or walk over to the other machine and log on!)
"export DISPLAY=<iPaq ip address>:0"
"xclock" (or "mozilla", or whatever)
If this works for you, you could set up <otherhost> for remote calls, and remotely launch applications without having to go through the telnet/ssh/whatever route.
The same problems with security remain. This is *very* insecure in a non-firewalled environment. You Have Been Warned!