Вот еще небольшой примерчик:
{assign var=i value=1} <select> <option>Выбрать</option> {while $i <= $room.available} {assign var="mod" value=$i%100} <option>{$i} {if $mod > 4 && $mod < 20}номеров{elseif $mod==1}номер{else}номера{/if}</option> {$i++} {/while} </select>
То есть набивается select, и в зависимости от конкретного числа, используется склонение слова. ?