Ok so I have now put a stop after the LCD Initialise.
.....
functionset bcf PORTA,0 ;RS line to 0 (Port A, bit0 - Pin 17 pic to pin 4 LCD)
bcf PORTA,1 ;R/W line to 0 (Port A, bit 1 - Pin 18 pic to pin 5 LCD)
movlw 3C ;Function set command (00111100 - 8 bit transfer, 2 line mode, 5x10 dot format)
movwf PORTB ;Put this code on the data lines Port B
call pulse_E ;Call the routine to pulse the E line (Port A bit 2)
call Delay20ms ;Give it time to get it
stop goto stop ;Stop the program
......
So I should see the control signal on PortB.
Nothing at all showing on the logic probe with the LCD disconnected. Connect the LCD and all pins on PORTB go high.