La prima variante è corretta; nella seconda il congiuntivo trapassato non è giustificato, ma deve essere sostituito dal futuro anteriore, come nella prima, o dal congiuntivo passato.
Per quanto riguarda sarà passato / sia passato, entrambe le soluzioni sono corrette: la prima instaura un rapporto di anteriorità nel futuro rispetto a sarà / sarebbe, mettendo l'accento sul momento di inizio del tempo intercorso dall'ultimo incontro; la seconda instaura un rapporto di anteriorità nel presente, che per il congiuntivo equivale all'anteriorità nel futuro, visto che il congiuntivo non ha il futuro. Tra sarà passato sia passato, quindi, la differenza è di tipo diafasico: il congiuntivo, cioè, è più formale dell'indicativo. Il terzo evento introduce una complicazione, perché prende come momento di riferimento un passato nel futuro (sarà passato / sia passato), rispetto al quale è precedente. Il parlante, quindi, deve scegliere se rappresentarlo come precedente rispetto al passato (avessi visto) o rispetto al futuro, quindi al presente (avrai visto / abbia visto). La soluzione più logica è la seconda, perché è chiaro che il piano temporale di fondo (definito dal verbo della proposizione principale) è futuro.  
Una soluzione ancora più informale (perché più vaga) del futuro anteriore, ma probabilmente quella che un parlante sarebbe portato a scegliere in un contesto parlato anche di media formalità, è l'indicativo passato prossimo (hai visto), che collocherebbe l'evento nel passato, quindi automaticamente in un momento precedente a sarà passato (ignorando che il piano temporale di fondo è futuro).
Fabio Ruggiano