いきなり完結編ですが^^;
MovableTypeをCMSとして使う場合、やはり「カテゴリ=メニュー」でしょう。しかも、3.1からサブカテゴリが扱えるようになったので、メニュー、サブメニューといった使い方が出来ます。
まず、
http://www.karakuriya.biz/blog/archives/2005/07/post_3.html
でも書いたように、カテゴリの表示順は「カテゴリ名」順なので、これは、メニューとして使うのはよろしくない。そこで、カテゴリの概要を使って、表示順を決めます。
サブカテゴリの場合は、そのサブカテゴリ内で順番になるように、カテゴリ名を決めればいいです。
問題は表示です。
<MTCategories>
<$MTCategoryDescription$>
</MTCategories>
と書けば、カテゴリの一覧は出ますが、トップレベルカテゴリ、サブカテゴリ共々、混ぜこぜで表示されます。
そこで、
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<li><$MTCategoryDescription$></li>
<MTSubCatsRecurse>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
とします。
<MTSubCatsRecurse>を使えば、サブカテゴリがトップレベルカテゴリの次に表示されます。このままだと、同じレベルの表示になるので、
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTSubCatIsLast></ul></MTSubCatIsLast>
を入れて、ulで囲ってあげます。
これで、完結です。
と思ったのですが、思わす落とし穴が。。。
TOPページは、思い通りのメニューが表示されます(↓)

しかし、カテゴリのページ(例えば、制作事例)では、

となってしまいます。
そのカテゴリのサブカテゴリしか表示されません。。。
原因は、
<MTSubCategories>
で囲ってるからだと思います。これでは、メニューの役割を果たしません。
そのカテゴリのサブメニューを表示するのなら、これでOK。
そこで、参考にさせていただいたサイトが
http://blog.nitty-gritty.org/archives/000196.html
ここです。
まず、トップレベルのカテゴリだけ表示します。
<MTTopLevelCategories>
<a href="<$MTCategoryArchiveLink$>">
<$MTCategoryDescription$></a> ||
</MTTopLevelCategories>
<MTTopLevelCategories>なタグがあるなんて、初めて知った。
そして、トップレベルカテゴリ1個1個について
<MTHasSubCategories>
<ul>
<MTSubCatsRecurse>
</ul>
</MTHasSubCategories>
と、サブカテゴリがある場合に、そのサブカテゴリを表示するようにします。
これだと、TOPページでもカテゴリページでも、同じようにメニューが表示されます。
これで、カテゴリ=メニューとなりました。
サブカテゴリのサブカテゴリの場合は、どうなるかは検証してません。