Code:
Define	LOADER_USED	1
If you don't need it in the end product, would save some space here...

Code:
IF PORTC.0 = 0 AND PORTC.3 = 0 then lcdout $FE,1,"     Diesel", $FE,$C0,"Outside ", $fe, $C9, dec (temp >> 1), ".", dec (temp.0 * 5), $DF, "C":  LOW PORTE.0: LOW PORTE.1 
       IF PORTC.0 = 1 AND PORTC.3 = 0 then gosub Tempcheck
       IF PORTC.0 = 0 AND PORTC.3 = 1 then gosub Tempcheck
       If PORTC.0 = 1 AND PORTC.3 = 1 then gosub Oil
The If/AND/Then takes up more space than consecutive If/Then's...
Code:
IF PORTC.0 = 0 then
   If PORTC.3 = 0 then
          lcdout $FE,1,"     Diesel", $FE,$C0,"Outside ", $fe, $C9, dec (temp >> 1), ".", dec (temp.0 * 5), $DF, "C":  LOW PORTE.0: LOW PORTE.1
endif
endif
Code:
For i = 1 to 8          ' 8 bits to a byte
For i = 0 to 7 would save a few more bytes

Code:
For i = 1 to 16         ' 16 bits to a word[/B]
Same thing here.... For i = 0 to 15

Just some tips for future use...