By doing the keydance you will only see the generic P0700 code. Since it is still not working well, you should let a shop clear the PCM and TCM faults, test drive it and then see what will show up.
But before that, check Fuse 5 in the PDC (power distribution center) under the hood. If ok, swap the transmission control relay, also in the PDC, with the auto shutdown relay (in PDC). (if the relay is bad, the engine will now not start and you know what to replace.) No power to the transmission control relay means full time limp mode (3rd gear in D, or 2nd gear when in manual 2)
Regarding the high idle rpm, clean the idle air control (IAC) stepper motor and air canal first. The stepper motor is mounted on the throttle body right hand side, when standing in front of the jeep. It sits just under the TPS (throttle position sensor). One connector and two screws and it is out. Do NOT swist the IAC plunjer during cleaning, because you easily break of some internal plastic parts which should prevent the plunjer from rotating. If this will not solve your issue, you need to check if the accelerator cable is not binding and keep the throttle plate a bit open. A scanner with live data could show you the TPS position in %, which should be around 12% in idle. If this seems to be ok, most probably the TPS is going bad.