I have a 2000 XJ that I drove 2 years thinking I had sticky lifters. Most XJs have sticky lifters, right? Several professional mechanics heard the engine, and they all said, that I had sticky lifters, even though I had not asked any of them for their opinion. Finally I decided to buy an engine stethascope and decide for sure. The ticking noise would begin at a "cold" start, anything less than 50*F ambient and last anout 10 minutes at that temperature. If it was colder out, the noise would be a little louder and last longer. With the stethascope, it was easy to determint the noise was louder on the driver's side of the block and near TDC. The lifters are on the passenger side of the engine and sticky lifters would be lounder on the passenger side of the block. Piston slap is most prevelant near TDC and BDC, but sound travels much better through metal to metal contact. AT BDC the rod journal is submerged in oil, and the piston skirt is in the open air. I was now positive I had at least one cracked piston skirt. After searches on multiple XJ forums, I also concluded that the incedence of cracked pistons are much more frequent in the newer 4.0 than all the previous year XJs. The transisition year seems to be about 1998 or 1999. The transisition does not seem to go with the 0331 head. The speculated causes seem to be evenly split between poor quality castings and worn out tooling.
I had to rebuild the engine. The head cracked cracked while I was on vacation in North Carolina. I was forced to drive it 900 miles home while the bearings were destroyed by the antifreeze in by the time I got home. My only choice was a complete rebuild, so I could get to the cam bearings.
When I got the engine apart, piston 5 had a single crack from the bottom of the skirt into the piston pin bore. Pistons 2 and 4 each had 2 cracks from the bottom the the skirt half way to the pins. I now have 28,000 miles on that engine and it is quiet as a sewing machine.
If you don't find the TC to FP bolts loose, you could have one or more cracked piston skirts.
NOW that you have the backstory, here is my recommendation:
If you don't already own a stethascope, pick one first thing in the morning. It could save you a lot of guessing and money.
This is the only reference I could find to cracked pistons on the forum:
http://www.naxja.org/forum/showthread.php?t=1074819
No aftermarket pistons have the same compression height (pin height) than the factory pistons. This means you
will end up with a lower compression ratio. To partly compensate for this you can buy either the Jeep High Performance head gasket (.043") instead of the (.052") stock head gasket. It is also sold as a Victor Rienz #54249 (available at Rock Auto. With these numbers, you should be able to keep the CR close to stock. I was just looked in my receipts for the pistons I used. I bought them on ebay, H802CP under the EngineTech brand. Even with my selection of parts and a .020 overbore, I still ending up with a loss in my CR numbers of 1.2. I wish there had been a choice of a taller piston. I probably should have decked the block.