Here is how to read and write to a Serial EEPROM using SHIFTIN/SHIFTOUT.
Using a 24FC1025.

Why???? Why not???

I have the DATA and CLOCK pins pulled up with 2.7k resistors.
Follow the code with the data sheet to understand what is going on.
Code:
DEFINE OSC 20

DPIN    VAR PORTB.2    'I2C DATA PIN
CPIN    VAR PORTB.1    'I2C CLOCK PIN
CONT1   CON %10100001  'READ CONTROL
CONT0   CON %10100000  'WRITE CONTROL
ADDR_HB   VAR BYTE
ADDR_LB    VAR BYTE
DATOW       VAR BYTE
ACK            VAR BIT
ADDR_HB = 0'%00000000
ADDR_LB = 0'%00000000
DATOW    VAR BYTE
CNT VAR BYTE
CNT = 0

START:
    CNT = CNT + 1
    DATOW = 245
    GOSUB WRITE_DATA
    PAUSE 10
    GOSUB READ_DATA
    LCDOUT $FE,1,"TEST ",DEC CNT
    lcdout $FE,$C0,"DATA IN ",DEC DATI
    lcdout $FE,$90,"LB ",DEC ADDR_LB
    PAUSE 250
    GOTO START
    
    WRITE_DATA:     
    ADDR_LB = ADDR_LB + 1
    GOSUB START_ROM
    SHIFTOUT DPIN,CPIN,1,[CONT0]
    SHIFTIN DPIN,CPIN,0,[ACK\1]
    SHIFTOUT DPIN,CPIN,1,[ADDR_HB]
    SHIFTIN DPIN,CPIN,0,[ACK\1]
    SHIFTOUT DPIN,CPIN,1,[ADDR_LB]
    SHIFTIN DPIN,CPIN,0,[ACK\1]
    SHIFTOUT DPIN,CPIN,1,[DATOW\8]      
    SHIFTOUT DPIN,CPIN,1,[%1\1]
    GOSUB STOP_ROM
    PAUSE 10
    RETURN
    
    READ_DATA: 
    GOSUB START_ROM
    SHIFTOUT DPIN,CPIN,1,[CONT0]
    SHIFTIN DPIN,CPIN,0,[ACK\1]
    SHIFTOUT DPIN,CPIN,1,[ADDR_HB]
    SHIFTIN DPIN,CPIN,0,[ACK\1]
    SHIFTOUT DPIN,CPIN,1,[ADDR_LB]
    SHIFTIN DPIN,CPIN,0,[ACK\1]
    GOSUB START_ROM
    SHIFTOUT DPIN,CPIN,1,[CONT1]
    SHIFTIN DPIN,CPIN,0,[ACK\1]
    SHIFTIN DPIN,CPIN,0,[DATI\8]
    SHIFTOUT DPIN,CPIN,1,[%1\1]
    GOSUB STOP_ROM
    PAUSE 10
    RETURN
    
    START_ROM:
    HIGH CPIN:HIGH DPIN:LOW DPIN:RETURN
    STOP_ROM:
    HIGH CPIN:LOW DPIN:HIGH DPIN:RETURN
Make sure you have ANALOG turned off!!