Ok so it is working... As far as I have set all the initialize registers as per the datasheet example with the exception of the 10MHz clock line, and a 4.5V low battery detect...
I can now see the clock line change to 10MHz

Working code is below...

Code:
define osc 4

' Define LCD registers and bits
DEFINE  LCD_DREG        PORTD            'LCD addressing
DEFINE  LCD_DBIT        4                'L1 = $80         
DEFINE  LCD_RSREG       PORTD            'L2 = $C0 
DEFINE  LCD_RSBIT       1                'L3 = $94
DEFINE  LCD_EREG        PORTD            'L4 = $D4
DEFINE  LCD_EBIT        3

lcdrw           var portd.2
nSEL            var portb.4
SDI             var portb.5
SCK             var portb.6
SDO             var portb.7
dout            var word
n		        VAR	BYTE		         
nn		        VAR	byte
cmd             var bit[16]

TRISB = %00000100

low lcdrw
nSEL = 1
SDI = 1
SCK = 0

pause 500

lcdout $fe,1

Start:

lcdout $fe,$80,"RFM12B Initialize"

pause 500

gosub Init

goto start





'Subroutines

WriteCMD:

for n = 15 to 0 step -1
  CMD[n] = dout.15
  dout = dout << 1
next n

SCK = 0
nSEL = 0

for nn = 15 to 0 step -1
  if cmd[nn] = 1 then
    gosub write1
  else
    gosub write0
  endif
next nn

sck = 0
nSel = 1
pause 500
return


Write0:
SDI = 0 : SCK = 0 : pauseus 16 : SCK = 1 : pauseus 1 : return


Write1:
SDI = 1 : SCK = 0 : pauseus 16 : SCK = 1 : pauseus 1 : return




Init:

dout = $80D8                      'enable register, 433MHz, 12.5pf
gosub Writecmd
dout = $8208                      'Turn on crystal, !PA
gosub Writecmd
dout = $A640
gosub Writecmd
dout = $C647                      
gosub Writecmd
dout = $94C0                      'VDI, FAST, 134kHz
gosub Writecmd
dout = $C2AC
gosub Writecmd
dout = $CA80                      
gosub Writecmd
dout = $CA83                      'FIFO8, SYNC
gosub Writecmd
dout = $C49B
gosub Writecmd
dout = $9850                      '!mp, 9810=30kHz, Max Out
gosub Writecmd
dout = $E000                      'Not Used
gosub Writecmd
dout = $C80E                      'Not Used
gosub Writecmd
dout = $C0F7                      '10MHZ, 4.5V
gosub Writecmd

Return

This has been very painful for me - having not touched RF before, so I'm hopeing that someone else gets some use out of my hair-pulling...

There is much more to do, I haven't even got round to sending data yet, and I haven't worked out how you are meant to run the pic on the 1MHz clock, then set it to 10Mhz, and have it all work fine. At the moment I have it running on an external 4Mhz crystal.

When I get a good working TX and RX bit of code I will start a new post with as much info as I can work out...

Thanks again to all the people that helped me get this far!

Cheers

Dave