If you want to replace the low 4 bits in byteB with the low 4 bits from byteA ...
byteA = 0b01010101;
byteB = 0b11111111;
byteTemp = byteA & 0b00001111; // converts the high 4 bits to 0 so they won't be carried over
byteB = byteB & 0b11110000; // clears the bottom 4 bits of byteB
byteB = byteB | byteTemp; // logical OR of the bits in the two bytes
// byteB should now be 0b11110101
And there may well be a neater way to do it
...R