Si quieres que el consumo de energía sea mínimo, deberás plantearte el uso del display, ya que es, por mucho, la parte que más te va a consumir si pretendes cambiar/actualizar el mensaje cada 5 segundos, ya que no solo tienes el display encendido en todo momento (con o sin backlight) sino que fuerzas al micro a salir del modo de bajo consumo cada vez que quieres utilizarlo.
Para el almacenamiento de datos, la opción que te ha propuesto andres.tr de utilizar una SD externa es más optima (no requiere que lleves el equipo hasta un PC o al revés, no tienes problemas de espacio, y no te afecta si el equipo ha podido perder la alimentación en algún momento o directamente se han agotado las baterías).
Una vez que te decidas en el estos temas, es cuando te tienes que plantear si tienes que usar y cómo temporizadores/delays/modos de bajo consumo/...
En cuanto al uso del SPI, hay una librería incluida en el IDE del Arduino, wire.h, con sus correspondientes ejemplos, que tendrías que mirar y adaptar a los sensores que utilizas.
http://www.arduino.cc/en/Reference/Wire