I think the bits part of C18 is actualy better then the variable.bitNum system.
It allows the naming and grouping of bits by function.
Thiis machine does not have a compiler installed so the names I am using may be wrong. Often timers use 3 bits to setup the prescaler. Lets say the control reg is TMR0CON and the prescaler bits are 3,4,and 5.
Intstead of
TMR0CON.3 =1;
TMR0CON.4 =0;
TMR0CON.5 =1;
You could write the union such that you could use
TMROCONbits.prescale = 0x5;