Is your AC low on Freon?
The PCM maintains two idle trim settings. AC=on and AC=off. If the system is low on Freon (or the outside temperatures are very low), then the compressor will cycle on/off due to low suction pressure. The effect is the PCM can not re-learn a new AC=on idle trim value.
One possible solution is to temp jump the low pressure switch and allow the AC to run for a few minutes. The idle quality should improve once the new AC on values are re-learned.
That does make a lot of sense ill have to get my freon levels checked out, that could very well be a possibility, just something i never thought about.