Still fighting with this. I borrowed the good scanner again this evening to play around with the truck for a while. I found a few interesting things. First off, the trans range switch seems to be operating fine. Also the EGR appears to be operating fine (commanded and actual positions are in sync). I did find that the truck may have an issue with the EVAP system. It is not setting any codes, but it is noting that the self test of the purge canister and solenoid failed. May have been a one-off issue though because I was able to manually function the purge solenoid with the scanner and it seemed to operate. Also odd is that when I manually fired the EVAP purge the first time I swear the engine idle speed changed briefly but subsequent tests made no effect on it and the idle surging persisted throughout. It's also very strange that the truck didn't log a code or set the CEL due to these faults? I see that the EVAP is listed in the "Fuel System Checks" on east302's post. Can I get the more elaborate test and see if I can figure out what's wrong with that? Also, is there any way to temporarily bypass it just to see if it cures the surging?
Most interesting is the IAC data. The truck is requiring wildly different IAC positions to achieve the same idle in Drive vs. Reverse. Neutral idle is commanded to be 625 rpms, and the truck is setting the IAC's at about 4 counts to meet that. Drive idle is commanded to be 550 rpms and the truck is setting the IAC's at about 10 to meet that. It will idle very regularly in drive at 550 rpms and 10 IAC counts, no surging. In reverse 10 IAC counts is dropping the idle to below 400 rpms, and the truck is opening the IAC's to 150+ in an effort to reach 550 rpms. I think that's why it surges. At 150+ the IAC's are almost wide open and the truck has lost any subtlety to the adjustment.
The question I have now is why the truck would need so much more air through the IAC's in reverse than it does in drive? Is there anything that is permitted to open or be active in drive that is not used in reverse? It's not a vacuum leak, that should give me the opposite problem. Another possibility I came up with is maybe it's a trans issue somehow? If the trans is loading the engine harder in reverse than drive the engine would want more air to get to 550 rpms. I can't think of anything that would cause that in the trans however? The truck doesn't feel like it's pulling against the brakes any harder in reverse than drive, and also even if you let off the brake and allow the truck to move in reverse idle it still surges, so I don't think it's in the trans but I'm open to suggestions?
Fuel trims were good at ~135, right in the middle of the range.