Do you mean a second array that fills up with numbers as the loop progresses and then uses those numbers to name the variables? Like this
string arraynames = new string; //hard coded length for now
for (int i = 0; i < 5; i++)
arraynames = i.ToString();
string name = i.ToString();
Nmode = arraynames;
wallarray[i] = arraynames = new Nmode(Content);
that does sound like it would work better, but I'm unsure as to how I would use the contents of the second array to name the Nmodes.