No, it isn't possible to have structs that are fractions of a byte big.
Rationale:
It must be possible to make a pointer to a struct, and the smallest adressable unit is 1 byte.
Note: This limitation exists in all compilers that I know. I don't know whether it is actually mandated by the C standard.