Bien, segun leo en una pagina, el srf04 devuelve un pulso de 100us a 18ms dependiendo de la distancia, y de 36ms si la distancia es indeterminada.
Por lo tanto, deberas de medir el ancho del pulso con el modulo CCP (existen rutinas para ello) , y luego almacenar el valor numerico en la eeprom. Supongo que si se desea una aceptable precision, el valor numerico sera de 16 bits, por lo que se almacenará de 2 bytes en 2 bytes. Dispones de 128 bytes de eeprom de datos, por lo que puedes almacenar 64 mediciones.
Documentate en el datasheet sobre como se realizan las escrituras en la eeprom de datos. Recuerda que las eeprom son mas bien lentas en la escritura (~10ms) por lo que seria interesante implementar una interrupcion oara que de mientras se pueda realizar otra medicion y asi ahorrar tiempo.
Si la memoria del 16f628 te parece poca (128 bytes), considera seriamente implementar una eeprom I2C (24lc256,24lc512...), pues su capacidad es bestial (de 32 bytes hasta 64Kbytes).
salu2