Das geht nur über einen Umweg:
| 1 | const uint8_t PROGMEM led_str[] = "led";
 | 
| 2 | const uint8_t PROGMEM help_str[] = "help";
 | 
| 3 | 
 | 
| 4 | const bef_struct_typ PROGMEM bef_tab[] = {
 | 
| 5 |   {led_str, led},
 | 
| 6 |   {help_str, help},
 | 
| 7 |   {empty_str, NULL}
 | 
| 8 | }
 | 
Und nicht vergessen, in dem Array sind POINTER auf Strings gespeichert. 
Der Zugriff auf die Strings geht also nur, indem zuerst der ptr aus dem 
Array geholt wird:
| 1 | my_str_ptr = pgm_read_word (&(bef_tab[0].name));
 | 
erst danach kannst Du auf die Zeichen des Strings wiederum z.B. per
| 1 | my_char = pgm_read_word(my_str_ptr);
 | 
zugreifen.
Gruß, Stefan