Reckless,
The "35" is for the Idle Speed Control (ISC), not an "Idle Speed Sensor" since there is no such device. The device is used to admit extra air to maintain engine RPM. It does not "sense" the idle RPM, and offers NO direct feedback to the ECM. The system relies upon what the ICM detects as RPM change as a result of the ISC inputs. The ECM can detect if the ISC stepper motor coils are either open or shorted, however, and generating such an error code could be the result of a poor connection between the ISC and ECM. That would also explain the poor idle speed regulation. Since you mentioned that you have replaced the ISC (unfortunate, since it probably wasn't the problem), I'd suspect a connection issue.
Furthermore, there is no such thing as an "Idle Positioning Sensor". There is a Throttle Position Sensor (TPS) but it is also closely monitored by the ECM and if the signal is out of range or intermittent, a code for that would be generated quickly. As a double-check, you can measure the voltage output of the TPS to verify its operation.
Teh "44" and "45" are indicating both a lean and rich condition during normal cruise. That can be due to a problem in the O² circuit, or a significant vacuum leak or fuel delivery problem.
If you suspect the EGR, it can be removed, cleaned, and inspected.