I believe your going in the right direction with the IAC. Try spraying some carb cleaner into the port inside the throtle body. If you look inside it you'll see a small peep hole on on side. BUT FIRST, you'll have to warm up the engine. turn it off and then spray away. when you try to restart it again you might get some hesitation. It'll be fine, because ounce it starts going again you have loads of smoke coming out too. let it burn the carb cleaner out itself...
and hopefully solve your problem. oh! since your in the throtle body I'd spray the inside of the intake also, you see what I mean.