4x3 led grid array function?

Yes, it's possible with an array, but you could do something like that, instead of an array for each mode, have a single integer:

// the pins where each led is connected, in reverse order
const uint8_t LED_Pins[] = { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };

// set a mode using a single int
const uint16_t MODE_1 = 0b111101101111; // this is your example (middle LEDs OFF) in one line
 
void SetLEDArrayMode( uint16_t mode )
{
  for (uint8_t i = 0; i < 12; i++)
    digitalWrite( LED_Pins[i], bool( mode & (1 << i) ) );
}
 
void setup()
{
    SetLEDArrayMode( MODE_1 );
}

Note, the reverse order is because using this method, the bits are read in reverse order too. But if your modes are always "symmetrical", then the order of the pins array will have no importance.. 8)