I use 18F series for all my project.
You can just compile some code for 16F, something like
DEFINE RESET_ORG 16
pause 1
And you should get 16 bytes FF then some other values. Also to view content of hex file you could use any programmer software, but I prefer MPLAB X, because I can export HEX values of just piece of hex to text file, and format it to ASM sintax.
Then let us know
I don't know what 16F part are able to do flash write. And also flash size is critical.
So I think any way, better to go with some 18F that have twice flash you need, so you could use flash to flash bootloader. It's really neat, small, simple and doesn't require any external parts!
All this can be done in ASM to get even smaller bootloaders, but I just didn't bother with that.
By the way all 18F can do code erase, write and read eaven if it is locked. Code protect bit affect only ICSP.