приведен неполный код. То что вы привели по идее не должно быть причиной warning'a.
Ну и почему бы не воспользоваться typedef struct..., определить структуру с разбивкой на биты B0..B7, и пользоваться этим типом там где это требуется.
пример:
Код
typedef struct /* Elements: 8, Bytes: 1 */
{ unsigned char
B0 : 1,
B1 : 1,
B2 : 1,
B3 : 1,
B4 : 1,
B5 : 1,
B6 : 1,
B7 : 1;
} TMyStruct;
volatile static __no_init TMyStruct DDRA @ 0x1A;
volatile static __no_init TMyStruct UCSRA @ 0x0B;
...