AntonSurkont, доброго времени суток!
Слегка поэксперементировал на твою тему... На мой взгляд, самый простой вариант сделать так:

Код AS3:
<fx:Script>
<![CDATA[
//...
[Bindable]
protected var item_width:int;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
//...
item_width = int(list.width/12);
}
]]>
</fx:Script>
<s:List id="list" width="100%" height="50%" dataProvider="{arrMonths}">
<s:layout>
<s:HorizontalLayout columnWidth="{item_width}" gap="0" variableColumnWidth="false"/>
</s:layout>
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:Panel width="100%" height="100%">
<s:Label text="{data}" left="10" top="8" fontSize="15"/>
</s:Panel>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
т.е. привязать ширину колонки из лейаута списка к переменной, высчитываемой из ширины списка. Если нужно менять в реалтайме, то можно ловить какое-нибудь событие изменения списка и соответствующим образом менять ширину.
мне кажется, этот вариант громоздкий и если еще покопаться можно найти более лаконичный способ средствами флекса, но тем не менее, работает)