¿Esta línea es correcta?
#use delay(internal=4M)
Yo siempre usé
#use delay(clock=4000000)
Aunque utilice el oscilador interno, el tiempo de clock establecido con la línea anterior funciona bien.
Respecto al resto del código no veo en que lugar definís los puertos que vas a usar para la salida.
En el encabezado de la rutina de LCD te lo especifica bien
..................................
//// CONFIGURATION ////
//// The LCD can be configured in one of two ways: a.) port access or ////
//// b.) pin access. Port access requires the entire 7 bit interface ////
//// connected to one GPIO port, and the data bits (D4:D7 of the LCD) ////
//// connected to sequential pins on the GPIO. Pin access ////
//// has no requirements, all 7 bits of the control interface can ////
//// can be connected to any GPIO using several ports. ////
//// ////
//// To use port access, #define LCD_DATA_PORT to the SFR location of ////
//// of the GPIO port that holds the interface, -AND- edit LCD_PIN_MAP ////
//// of this file to configure the pin order. If you are using a ////
//// baseline PIC (PCB), then LCD_OUTPUT_MAP and LCD_INPUT_MAP also must ////
//// be defined. ////
//// ////
//// Example of port access: ////
//// #define LCD_DATA_PORT getenv("SFR:PORTD") ////
//// ////
//// To use pin access, the following pins must be defined: ////
//// LCD_ENABLE_PIN ////
//// LCD_RS_PIN ////
//// LCD_RW_PIN ////
//// LCD_DATA4 ////
//// LCD_DATA5 ////
//// LCD_DATA6 ////
//// LCD_DATA7 ////
//// ////
//// Example of pin access: ////
//// #define LCD_ENABLE_PIN PIN_E0 ////
//// #define LCD_RS_PIN PIN_E1 ////
//// #define LCD_RW_PIN PIN_E2 ////
//// #define LCD_DATA4 PIN_D4 ////
//// #define LCD_DATA5 PIN_D5 ////
//// #define LCD_DATA6 PIN_D6 ////
//// #define LCD_DATA7 PIN_D7 ////
//// ////
..................................
No sé si tiene que estar antes o después de
#include <lcd.c>
pero es cuestión de probar
Si querés conectar todo el LCD al puerto B podrías poner
#define LCD_DATA_PORT getenv("SFR:PORTB")
Es lo que figura en el encabezado de la rutina sólo que sustituí PORTD por PORTB, ya que el 16F628 no tiene puerto D