Do you know how old the O2 and catalytic converter are? There are procedures to test everything, but if they are many years old it is usually a good idea to replace them. O2 sensor is a major culprit for running rich, and is not too expensive or hard to replace. A new cat can clean up your emissions enough that you might pass even without solving the underlying problem.
You say you can smell gas out of the exhaust pipe- are there any other symptoms of the engine not running right? Does it idle well, or does it stumble and miss ever? Is there evidence of a vacuum leak (a major leak will make all of the heating/AC air come through the defroster vents, regardless of what setting its on), or an exhaust manifold leak/crack (noisy, sometimes a ticking noise, especially with a cold engine)?
Also, I don't think you said whether your engine temp was normal. If it's running too cool, it will run really rich. I just replaced a thermostat that would always run at about 180 or even a little below (despite having a 195 degree rating). With the new one runs right at 210 and most of my running rich symptoms are gone.
Also, does your Jeep burn oil? That would cause high CO/HC readings just like running rich.
I think the posters in this thread have given you most all of the normal causes you should look into. Now you need to narrow it down some by testing or replacing parts.