The short answer is to set the decorator to null in your data change function.
Longer answer:
<s:IconItemRenderer
iconField="avatar"
messageField="city"
decorator="{outerDocument.MEDAL}"
iconFunction="{outerDocument.iconFunc}"
labelFunction="{outerDocument.labelFunc}"
dataChange="onDataChange(event)" >
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
public var statManager :StatManager = StatManager.instance;
protected function onDataChange(event:FlexEvent):void
{
if(SomeConditionThatDeterminesThatDecoratorShouldBeDisplayed){
this.decorator = outerDocument.MEDAL;
} else {
this.decorator = null;
}
}
]]>
</fx:Script>
</s:IconItemRenderer>
I use this same approach in my mobile game.