Bueno... después de pelearme intentando guardar el "foreach" en un array, he encontrado una solución alternativa.
 
La teoría es "Si $i es mayor o igual que $total menos $elementos_ a_mostrar, haz algo; sinó, no hagas nada." Es decir...  
 Código PHP:
    $a_mostrar = 5;
$i = 1;
 
foreach ($sxml->entry as $entry) {
  if( $i >= ($total-$a_mostrar) ){
  // acciones
  }
  $i++;
} 
    
  El único "problema" es que no puedo mostrar el último resultado en primer lugar, pero bueno... es una solución rápida, y no genero un array enooooooorme (teniendo en cuenta que  lo que se genera es un xml para 
todas las fotos de una cuenta de Picasa). 
Muchas gracias a GatorV por abrir el camino. 
Un saludo! 
Edito:
Al final conseguí volcar todo el contenido del xml en un array bidimensional y luego le "dí la vuelta" con la funcion 
array_reverse. Igual de útil, aunque, obviamente, se demora un poco más que el método anterior.