Like i said in the other post, Learn a language. No you dont write straight to .hex format... You start with a much more complex code in a .asm file and you Build/compile them into a HEX code so you can send it to the PIC.
For protecting the code, you would write-
__CONFIG _FCMEN_OFF & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTOSCIO
Near the start of the Code your writing.
That bit _CP_OFF means- Code protection off
Put _CP_ON and it will be one and you cant have your programmer "read" whats written on the PIC.
Also Hazer has written some nice stuff here:
http://web.tampabay.rr.com/hazer/