Siguiendo lo de AcoranTf luego tenes otros problemas.
PIC18 creo que no pueden funcionar como Host, asi que te vas a tener que ir a un PIC32.
Y teniendo un PIC32 luego tenes que ver si es posible que pueda ejecutar codigo desde la RAM, por que reescribir la FLASH es algo imposible (quemarias el micro). Si aun asi todo esta correcto, un programa de 1Gb me pareec ridiculo. Incluso de algunos megas, En fin terminarias mejor con un flash externa que lo mas seguro es que algun PIC32 disponga de un medio para acceder a la misma y ejecutar codigo desde alli.
Si es por que tenes que almacenar muchos datos ahi te lo puedo comprender (aunque la solucion de una tarjeta SD pienso que es mas viable, hay que llenar 8Gb en datos ), pero eso no significa que vayas a ejecutar codigo. Si ese era tu objetivo realmente veria otras alternativas.
Ahora si tu objetivo es otro, como el de lograr hacerlo, entonces adelante.
tambien me pregunto si puedo hacer que el programa del pic se carge desde el disco duro con un bootloader, o sea como hacen los computadores normales que el programa lo tienen guardado en el disco duro pero lo ejecutan en el procesador
Como te dijeron ya eso no son microcontroladores, son procesadores, y ademas hay muchas mas complicaciones, si pusieras un procesdor que cargue las cosas directamente desde el disco duro seria muy lento. Para eso esta el sistema operativo que trae del disco duro a la RAM, luego tenes distintos niveles de Cache que van enviando lo que necesitan de la RAM a los distintos niveles de Cache.
Nada simple de implementar de 0 y hay miles de cosas mas que pase por encima en solo esa explicacion, tambien tenes una flash (que actua como BIOS), a no ser que pongas realmente un OS seria una locura, Ahora con todo esto implementado realmente no se que es mas barato, tal ves comprar una PC en desuso y usarla que te va a salir mucho mas barato.