Try looking at the bitwise AND operator. For example, if the byte is:
val = 00011011
and you want to extract Var 2, what would happen if you used:
val 00011011
AND 00001100
var2 00001000
You can then read bits 2 and 3, or you could right-shift (>>) var2 two places to get the value as a two-bit value. In code this would look similar to:
byte val = 0b00011011;
byte bitMask = 0b0b00001100;
byte var2;
var2 = val & bitMask ; // var2 now equals 8, 00001000
var2 = var2 >> 2; // var2 now equals 2, 00000010
You simply set the bit mask to the bits you want to read. For example, to read your Var 3, the bit mask becomes 0b00110000, where the 1's are for the bits you wish to read.