Thank you all for the information. After some reading i found the most common way as suggested by "ombrastein" , "penoy_balut", "Nigel Goodwin" was to break the 16 bit variable into 2 8 bits.
I achieved this by just going through it and checking how value transfers were taking place on the watchwindow(novice-remember! so went to basics. Tedious - but it works!!) :
off_time_temp = off_time; //offtime is 16bit, assigning to a temp
off_time_L = off_time; // transferring 8 LSB's
off_time_temp = off_time_temp >> 8; //shifting the MSB's
off_time_H = off_time_temp; //transferring 8 MSB's
Elsewhere in my program i had to transfer 2 8bit variables into 16 bits, i achieved that by going back to boolean first principles (OR)
the method most described in microchip
edge_1 = (CCPR1H<<8)+CCPR1L; // not working
was not giving expected answer due to overflow in register
so im simply OR'd the each register individually, shifting after transferring the MSB's
Thanx again to all posts