>555です。
しつこいですがリストを使ってもうまくいかなかったので
こうしてみました。

ArrayList data = new ArrayList(14);
data.Add(new ArrayList());
((ArrayList)data[0]).Add(new ArrayList());
((ArrayList)((ArrayList)data[0])[0]).Add(new float[4]);
((ArrayList)((ArrayList)data[0])[0])[0] = 1;

MessageBox.Show(((ArrayList)((ArrayList)data[0])[0])[0].ToString());

後は変数を使ってネストすればいいだけだと思います。
こうすれば何とかなるようです。

しかし、コードが長いのでなんとか短くしたいです。
typedefもないし、usingを使ってもうまくいきませんでした。
ArrayList以外にいい方法があれば教えてください。、
また、もっとコードを短くする方法があれば聞きたいです。