While my experience with C2 is extremely limited I can say this. One of my first experiments was creating a 5,148 element array (72x72), filling that array with random numbers (1-5), reading back that array and assigning sprites to the background based on the random number, refilling the array with random numbers and then using a different sprite to create a parallax background and... it was fast.
Arrays are old programming structures. They've been around for years so the code to work with any array in any language is pretty well optimized. But, with any programming, it depends on how large the array is, how often you access it and whether you're reading through the entire array or accessing one cell.
The problem you're going to have with an array is defining the size of the array at the start and then tracking which cells you've updated and what to do when you reach the end of the array (I don't think C2 has dynamic arrays where you can change the size, I may be wrong)