In C kannst du bitfelder definieren
Code:
union {
uint16_t    ident16;
  struct {
      unsigned command : 6;   // das sind 6 bit zusammen
      unsigned absender : 5;   // das sind 5 bit zusammen
 }  bits;
} identifier;

 identifier.ident16 = 0x1234;
 if ( (identifier.bits.command  == x)  && ( identifier.bits.absender == y) ) 
 {
 }