仰りたいことは概ねわかりました。
mes week(1)(0)
と書いて、
mes + week(1) + (0)
↓
mes + mon + (0)
(mon は week 関数の返り値)
↓
mes mon(0)
(と書いたのと同じことをさせたい)
ということだと思います。
しかし残念ながら、こういったことは HSP ではおそらく不可能です。
関数の返り値 (今回のケースでは "mon" という文字列) が、mes 命令にパラメータとして渡されるだけで、
それを変数名として扱うようなことはできません。
各データの管理方法、取り出し方法から見直してみてはいかがでしょうか?
そもそもはどういったことを実現したくてこの処理が必要なのかを明確にすれば、
少し違ったアプローチでも要件を満たす回答がくるかもしれません。
もしかすると見当違いな回答になってしまうかもしれませんが、
私なりに少し違うアプローチからの回答をおいておきます。
#enum sun =0
#enum mon
#enum tue
#enum wed
#enum thu
#enum fri
#enum sat
#enum week_length
dim week, week_length, 10
week(sun, 0) = 10
week(mon, 0) = 20
week(tue, 0) = 30
week(wed, 0) = 40
week(thu, 0) = 50
week(fri, 0) = 60
week(sat, 0) = 70
mes week(1)
// または
mes week(mon)
mes week(mon, 0)
// など