Well expanding on the first test I now have data being read from the RTC module

Code:
ASM  ; 18F2550/4550, 20mhz crystal
;  __CONFIG    CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L
;  __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
  __CONFIG    _CONFIG2L, _PWRT_ON_2L  
  __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
  __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
  __CONFIG    _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L
ENDASM

DEFINE  OSC 48

clear

;----[LCD definitions]------------------------------------------------------
DEFINE LCD_DREG  PORTB          ' LCD Data port
DEFINE LCD_DBIT  0              ' starting Data bit (0 or 4)
DEFINE LCD_EREG  PORTB          ' LCD Enable port
DEFINE LCD_EBIT  5              '     Enable bit  (on EasyPIC 5 LCD)
DEFINE LCD_RSREG PORTB          ' LCD Register Select port
DEFINE LCD_RSBIT 4              '     Register Select bit   (on EasyPIC 5 LCD)
DEFINE LCD_BITS  4              ' LCD bus size (4 or 8 bits)
DEFINE LCD_LINES 4              ' number of lines on LCD
DEFINE LCD_COMMANDUS 2000       ' Command delay time in us 
DEFINE LCD_DATAUS 50            ' Data delay time in us

;---------------------------------------------------------------------------


RTCYear	Var	Byte
RTCMonth Var Byte
RTCDate	Var	Byte
RTCDay	Var	Byte
RTCHour	Var	Byte
RTCMin	Var	Byte
RTCSec	Var	Byte
RTCCtrl Var	Byte

SDA	Var	PORTC.4
SCL	Var	PORTC.3

main:
I2CRead SDA,SCL,$D0,$00,[RTCSec,RTCMin,RTCHour,RTCDay,RTCDate,RTCMonth,RTCYear,RTCCtrl]
Lcdout $fe, 2,hex2 RTCDate, "/",hex2 RTCMonth, "/" , hex2 RTCYear,_
		"  ", hex2 RTCHour, ":", hex2 RTCMin, ":", hex2 RTCSec
goto main:
So now just have to work out why the original code that worked with the 16F877A didn't / doesn't port across ?