You can only divide bitfields at bit boundaries, obviously, so to represent a second or minute value (0-59) you'll have to use 6 bits (0-63), wasting 4 values.
Now, the entire mask is restricted to be of an actually supported integer type, as every other integer. I don't know what you mean by the other part. There's no number you can represent in binary that you can't represent in hex.