I think xj's are just too square, and the 4.0 is too old school to get good mileage. And since we all do so much in the way of armor, drivetrain and body mods to make them good wheelers... That they end up becoming super heavy, even less aerodynamic and more fuel thirsty.
A comparison-
My 2001 with 4.56's, 4 speed auto, 33's, tons of armor and 4 inch of lift gets a consistent 200 miles to a tank. I just changed the timing chain, but I haven't calculated any fuel mileage gains yet. I have a high flow exhaust, bored throttle body and 4 hole injectors. It makes decent power, but the mpg is just... so bad. 12.5 average.
It looks like this- Basically a brick with a tractor motor.
Untitled by
Sean Mitchell, on Flickr
On the other hand, my 2004 Grand Cherokee has a 4.7HO engine... 3 inch lift, 3.73 gears, 5 speed auto, and 32's. It has a TON of power, and it also has a more aerodynamic body. It consistently averages 15.1 mpg, and it is way more fun to drive. weights the same as the built xj. Modern engine, easier to push through the air. I have seen 320 miles to a tank. It looks like this- (Overall it is about 2 inches taller than the xj.)
Big Bar by
Sean Mitchell, on Flickr