自己レスです。
色々試行錯誤をした結果、以下のようなコードで実現いたしました。
picoのmain_viewcontent.htmlに追加したコード
//親カテゴリを取得
<{foreach from=$category.paths_raw key=key item=item name=parent}>
<{if $smarty.foreach.parent.iteration == 1}>
<{assign var=depth_1 value=$key}>
<{elseif $smarty.foreach.parent.iteration == 2}>
<{assign var=depth_2 value=$key}>
<{/if}>
<{/foreach}>
//現在の階層に応じて表示させるサブカテゴリを制御
<{xugj_block file="modules/xxx/blocks/blocks.php" func="b_pico_subcategories_show" opt="xxx,0" item="block"}>
<ul style="margin-left:2em;">
<{foreach item=category from=$block.categories}>
<li>
<a href="<{$block.mod_url}>/<{$category.link}>">
<{$category.title}>
</a>
</li>
<{if $depth_1 == $category.id}>
<{xugj_block file="modules/xxx/blocks/blocks.php" func="b_pico_subcategories_show" opt="xxx,$depth_1" item="block"}>
<ul style="margin-left:2em;">
<{foreach item=category from=$block.categories}>
<li>
<a href="<{$block.mod_url}>/<{$category.link}>">
<{$category.title}>
</a>
</li>
<{if $depth_2 == $category.id}>
<{xugj_block file="modules/xxx/blocks/blocks.php" func="b_pico_subcategories_show" opt="xxx,$depth_2" item="block"}>
<ul style="margin-left:2em;">
<{foreach item=category from=$block.categories}>
<li>
<a href="<{$block.mod_url}>/<{$category.link}>">
<{$category.title}>
</a>
</li>
<{/foreach}>
</ul>
<{/if}>
<{/foreach}>
</ul>
<{/if}>
<{/foreach}>
</ul>
しかし、これだと仮想パスでリンクURLが表示されず、
category0001.htmlとなってしまいます。
仮想パスで表示される良い方法がありましたら教えていただきたいです。
よろしくお願いいたします。
《追記》
利用しているpicoは1.77で、HD1.0.2で運用しています。
他のサイトでインストールしたpico(ただし1.74)では、サブカテゴリ一覧でも正常に仮想パスでのリンクが表示されました。
MAMEMARUさん、こんにちは。
おそらく原因は
http://www.xugj.org/modules/QandA/index.php?topic_id=1222と同じなので、そっちにレスつけて、こっちは「解決」扱いにしておきます。