On a 4.9 you really only have a few choices for high idle. Because of the idle control system on a 4.9, the PCM has full control over idle and compensates for most minor issues including VAC leaks. Major vac leaks, stuck throttle plates or cable, or a broken "closed throttle switch" (located inside the ISC, should set an SES code). The ISC (idle speed control) acts as a movable throttle stop and is controlled by the PCM. There is no air control valve so to speak. There are 2 idle speeds set in the memcal and the PCM attempts to keep the idle at those set speeds. One speed for stopped idle (<5mph) and one for coasting idle (>5mph). If the "closed throttle switch" inside the ISC is not functioning properly the PCM will not know the throttle has been released and will not set to stopped idle speed.
Do you have a scanner? There is also a possiblility you will need to perform an "idle learn" procedure. Make sure nothing is holding up the throttle cable or butterflies. The throttle body may just be really dirty also (they tend to grow carbon). There is only a 2 second high idle on startup so generally the engine temp plays little role in idle speed. The 4.9 is a unique beast when it comes to idle issues.
[This message has been edited by Fieroseverywhere (edited 11-08-2010).]