IMHO, for low port counts I2C is preferable but for hi-speed aquisition (eg. (eg. A/D) or low code space and overhead SPI is preferable. In SPI EEPROMs you can read the whole device just inssuing clks to SPI, quick and simple. Luiz Marques