A non functioning IAC valve can cause stalling at slow speeds. Its located in the throttle body and not hard to access although you need to remove the TB first. Maybe a can of carb cleaner in the TB will clean out any dirt and make a difference. I would concentrate more on the stalling problem than anything else.
Try the paperclip test and see what codes you have first. Check also that you don't have a vacuum leak somewhere. Checking the idle speed via the throttle position sensor is maybe something else to try.
To recover the codes, short pins "A" and "B" together using a small section of electrical wire or paper clip.
With the ignition turned OFF, short pins "A" and "B" on the ALDL.
Turn IGN ON (but not to RUN).
The "Check Engine" light (early C4s) or "SYS" light (later C4s) will flash a Code 12 (a single flash followed by two flashes) and will repeat three times (Flash (pause) Flash Flash (long pause), Flash (pause) Flash Flash (long pause), Flash (pause) Flash Flash (long pause).
Code 12 is a delimiter or marker code to show where the error code string begins and ends.
After the three Code 12 flashes, you will either get an error code (or codes) or you will get another string of Code 12 flashes if there are no trouble codes stored.
All codes are repeated three times with a long pause between each code group (36 or Flash Flash Flash pause followed by six flashes, repeated three times, folowed by a long pause with any additional codes stored then flashed).
The "Check Engine/System" light on with engine running means the condition(s) are currently present. If the light is not on during RUN operation, the limits were exceeded at some point in time and the event was recorded in memory, but the reading has since returned to the normal operating range.
Remember to remove the shorting device from the connector after you have read the codes.
Clearing the Codes
To clear the codes from memory, remove the negative battery cable for a minimum of 10 seconds.
Disconnecting the battery will clear all stored codes and and any stored memory (radio button presets, clock, trip odometer, average gas mileage memory, power seats). Your ECM/PCM computer will also have to relearn timing/mixture/exhaust emissions.
Make absolutely certain the ignition key is turned OFF. If you connect the battery with the ignition switch ON, you can destroy the ECM/PCM module.