環境変数はシェル変数ではないから基本的には用途違い(ともいいきれないか)だけど、
子シェルに配列変数を渡したいってことかな。それも環境変数的に。

export ENV="$(typeset -p i a)"
zsh -c 'eval $ENV; ...'

とかはしたくないってことなんだよね。
typeset -xT FOO foo が近いかな。これも子シェルで typeset しないとだめだから大差ないか。
ついでに separator と同じ文字が使えないし。

typeset -xT FOO foo
foo=(a b)
zsh -c 'typeset -xT FOO foo; ...'

どこで使うのかしらないけど↑の ENV みたいなんを .zsh* でなんかすれば
なんとかなんじゃない?
どーしてもやりたければ。