A 2D array would be passed as const byte *frames[8]. However you really don't need the complexity of a 2D array - you can do it with a 1D array.
Your array would look like:
const byte SPACED_STRIPES[] = {
0b11000110,
0b10001100,
0b00011000,
0b00110001,
0b01100011,
0b11000110,
0b10001100,
0b00011000,
0b01100011,
0b11000110,
0b10001100,
0b00011000,
0b00110001,
0b01100011,
0b11000110,
0b10001100,
...
};
And you reference frames within it as a multiple of 8 of the index. Using your existing code it would look like:
void CSMatrix::runTwoColorPattern(const byte *frames, const int length, int delayDuration)
{
for (uint8_t i = 0; i < length; i++)
{
renderFrame(&frames[i * 8]); // Take the address of the first value of the frame at a multiple of 8
FastLED.show();
delay(delayDuration);
}
}