I am testing that still at the moment. It seems to work, but you HAVE to use another statement further on in the code where you access that array:
S_Byte = pgm_read_byte_near( & S_Table[S_Row][S_Collum]); // XXX When using PROGMEM
This seems to work (it does not without that pggm_read_byte_near statement), but I like to test if there are no negatives when using this apart from taking program space.
On the positive: it would give another 256 bytes extra memory.
Maarten