Hi Paul,
New day, fresh head...
You said:
at 4 MHz, 3 instructions on and 3 instruction off = 6 instructions per cycle, therefore f=1000000/6=166666.667 Hz (twice that noted above)
That is of course correct. I based my calculation on a 20Mhz so 5000000/6 = 833kHz which is what I stated in my post which is also correct (but not half of 166kHz).

Thanks for the 16F vs 18F explanation. I guess it would take up more code to check which bank we're in before each goto instead of just setting the correct one?

Thanks!
/Henrik Olsson.