Don't quite have the thought fully formed, but I'm thinking along the lines of:
Code:
FullDigit VAR LONG
FullDigit = ((Byte1 << 23) + (Byte2 << 17) + (Byte3 << 11)...
This might compact the bits(?)

You need 42 bits, but a LONG only has 32. There's an extra line that would have to be dealt with independently. Again, this isn't a "Solution", just food for thought.