Also,
1. If you have small subroutines and/or small loops , keep them at the beginning.

Also,
2. if you are comparing a byte variable to a word variable, make sure, you compare the byte variable to the lowbyte of the word variable.

Ex:
A var byte
B var word

Instead of
IF A = B THEN Home

use,

IF A = B.LowByte THEN Home

Also,
3. If you have HIGH and LOW commands, make them direct access to PORT register.

Ex:
Instead of
HIGH PinA

Use,
PinA = 1


=================