プライマリカテゴリとそれ以外を分けたあと、カテゴリ名が重複しているので、ハッシュのkeyとして格納して重複するカテゴリを上書きすし一意にしてみた。
<mt:Entries limit="5000">
<mt:If tag="EntryCategory">
<!-- カテゴリ -->
<mt:EntryPrimaryCategory>
<$mt:CategoryLabel setvar="label_name"$>
<$mt:SetVar name="categoryArray" key="$label_name" value="1"$>
</mt:EntryPrimaryCategory>
<!-- サブカテゴリ -->
<mt:EntryAdditionalCategories glue="," setvar="sub_cats">
<$mt:CategoryLabel setvar="sublabel_name"$>
<$mt:SetVar name="subCategoryArray" key="$sublabel_name" value="1"$>
</mt:EntryAdditionalCategories>
</mt:If>
</mt:Entries>
<!-- カテゴリの出力 -->
<MTsetVar name="categoryCount" value="1">
<mt:Loop name="categoryArray">
<p><MTVar name="categoryCount">件目 <mt:Var name="__key__"></p>
<MTSetVar name="categoryCount" value="1" op="+">
</mt:Loop>
---------------
<!-- サブカテゴリの出力 -->
<MTsetVar name="subCategoryCount" value="1">
<mt:Loop name="subCategoryArray">
<p><MTVar name="subCategoryCount">件目 <mt:Var name="__key__"></p>
<MTSetVar name="subCategoryCount" value="1" op="+">
</mt:Loop>