certo che è possibile, non vedo perchè

basta che in tutte le altre pagine php all'inizio fai eseguire session_start() e ti ritroverai $_SESSION['id'] disponibile.

E non è nemmeno vero che nella sessione non puoi salvare delle strutture dati complesse, addirittura non solo puoi salvare array con diverse "profondità" ma puoi assegnare anche una classe ad un elemento in sessione, e la classe sarà di volta in volta serializzata e deserializzata.