Ah so I clear those bits first then set them?Make a hole, slip in the bits:
SFR = (SFR & 0b11001111) | (i << 4);
This is basically what I do now.The smallest and fastest compiled code may be from using bit tests;
sfr.F4 = 0;
if(i.F0) sfr.F4 = 1;
sfr.F5 = 0;
if(i.F1) sfr.F5 = 1;
(If your C compiler is one of those poor ones that doesn't allow bit testing/setting then you may not have that option.)