how could you iterate through a set of objects with almost the same name, like
It looks as though you're looking for something which resembles a 2D array.
There are two methods of implementing a 2D (or multi-dimensional) array in Unity. There are "real" multi-dimensional arrays, and there are "Jagged" arrays. The difference is this:
With a "real" 2D array, your array has a fixed "width" and "height" (although they are not called width & height). You can refer to a location in your 2d array like this: myArray[x,y].
In contrast, "Jagged" arrays aren't real 2D arrays, because they are created by using nested one-dimensional arrays. In this respect, what you essential have is a one-dimensional outer array which might represent your 'rows', and each item contained in this outer array is actually an inner array which represents the cells in that row. To refer to a location in a jagged array, you would typically use something like this: myArray[y][x].
Converting your script above to use a jagged array, would look something like this:
However, Your question throws up a few interesting points.