I have a couple more:

Learn all the ins and outs of Read-Modify-Write.
Be very careful when you use GOTOs and GOSUBs. Don't use one when you mean to use the other.
Put timeouts in EVERYTHING (hserin, for example), so that the code never waits forever for a state change or user input.
Actually use the watchdog timer. If you are careful, it can be done.
Always use 4 layer PCBs (at least) with solid power and GND planes.
Put several capacitors right next to the chip power pins (I like 2 X 22uF and
2 X .01uF ceramics).
Put the crystal close to the PIC.
Keep the MCLR line short. Use a 4.7K pull up to Vcc.
Design the hardware such that the circuit (or machine) behaves properly if the PIC is reset with power ON to everything else.