Proper shackle length is determined by leaf spring length/arch. A lift spring that has more arch needs a longer shackle to function and cycle properly and freely. In fact, I’m not sure a stock xj shackle would work at all with the IRO springs. Let’s assume for a second it would and you could get a perfect 45* angle at ride height. Because the stock shackle is so short the arc it travels in is too small and will invert on droop, and bind on uptravel. The longer shackle with the larger arc helps mitigate this issue because the larger arc means the shackle has to travel less to account for length changes in the spring as it compresses and droops. A stock spring is longest at ride height because it is flat at ride height, and thus it doesn’t change much in length, thus why a short shackle can be used. A lift spring with a tall arch changes more more in length as it cycles.
Whatever spring you decide on, I’d recommend getting one that has a full military wrap. It seems to help the spring last longer before sagging with the axle wrap issues the XJ has. I’ve got multiple friends with the OME springs that sagged after a year because of axle wrap. With stock bump stops the xj springs will invert at full bump, which fatigues them faster and will cause them to sag. You may be able to get away with adding another stock xj main leaf to your packs as a military wrap and then do thenlonger shackles and relocation brackets. That may get you the height you’re looking for.
Or you could always do like I did and convert to SUA