CompactFlash
CF cards will give you some MB of storage disk and also newer ones give you ethernet IO, wireless, etc. This is a first try, with this kind of cards, using a monitor program and a serial link. Get this howto article and download the sourcecode

Assign PIC pins in cfp.jal:
-- The following pins will be "high" (+5V)
--
-- cf-13 vcc
-- cf-32 -ce2
-- cf-38 vcc
-- cf-41 reset
-- The following pins will be "low" (gnd)
--
-- cf-01 gnd
-- cf-07 -cel
-- cf-39 -csel
-- cf-50 gnd
-- CF address bus, low 8 bits
port_b_direction = all_output
var byte cfaddr_lo is portb
-- CF address bus, high 3 bits
port_e_direction = all_output
var byte cfaddr_hi is porte
-- CF 8 bit data bus
port_d_direction = all_input
var byte cf_data_direction is port_d_direction, cf_data is portd
-- CF OE signal. Active Low
var bit cf_oe is pin_a1
cf_oe = high
pin_a1_direction = output
-- CF IORD signal. Active Low
var bit cf_iord is pin_c0
cf_iord = high
pin_c0_direction = output
-- CF IOWR signal. Active Low
var bit cf_iowr is pin_c1
cf_iowr = high
pin_c1_direction = output
-- CF WE signal. Active Low
var bit cf_we is pin_a2
cf_we = high
pin_a2_direction = output
-- CF REG signal. Active Low
var bit cf_reg is pin_a3
cf_reg = high
pin_a3_direction = output
-- CF IREQ/Ready signal. Active Low
var bit cf_ready is pin_a5
pin_a5_direction = input
-- CF Wait signal. Active Low
var bit cf_wait is pin_a4
pin_a4_direction = input