TECHNICALLY, 0 is a valid and usable index for the second dimension but not for the first dimension and it definitely doesn't NEED to be used and is not counted in the creation of an array (dimension 1 an 2 should probably get swapped but it's not necessary)
One teeny-tiny, little problem with this concept is that everything stored in the clones gets deleted when the project stops so it's good for memory, not so much for long-term I'm sure you could make your own custom blocks that will allow you to change/read more than one item at a time and also allow you to make each clone have varying lengths of list