Для вывода групп в 3 столбика необходимо вызов тэмплейта для показа групп заключать в таблицу. Внутри самого этого тэмплейта осуществлять перевод строки после каждой третьей группы(см. на пример XSL-шаблона "СписокЭлементовГлоссарий"

. Для установления различных размеров шрифта можно воспользоваться параметрами, содержами название классов стилей для отображения ссылок на группы, и передающимися при вызове тэмплейта. Например:
<!--ВЫЗЫВАЕМ ШАБЛОН ДЛЯ ГРУПП И ПЕРЕДАЕМ СТИЛЬ ИХ ВЫВОДА -->
<xsl:apply-templates select="group">
<xsl:with-param name="classfont">main_group</xsl:with-param>
</xsl:apply-templates>
...
<!-- Шаблон для групп товара -->
<xsl:template match="group">
<xsl:param name="classfont">main_group</xsl:param>
<!--ЗНАЧЕНИЕ ПАРАМЕТРА ПО УМОЛЧАНИЮ -->
...
<a href="{/shop/path}{fullpath}" class="{$classfont}"><xsl:value-of disable-output-escaping="yes" select="name"/></a> <span style="color: #aaaaaa">(<xsl:value-of disable-output-escaping="yes" select="count_all_items"/> )</span>
...
<!--ВЫЗЫВАЕМ ШАБЛОН ДЛЯ ПОДГРУПП И ПЕРЕДАЕМ СТИЛЬ ИХ ВЫВОДА -->
<xsl:apply-templates select="group">
<xsl:with-param name="classfont">subgroup</xsl:with-param>
</xsl:apply-templates>
</xsl:template>