Il punto non è questo, ajax e javascript sono strettamente collegati, per effettuare una chiamata asincrona alla tua risorsa php dovrai cmq utilizzare javascript(o uno dei suoi framework).Dici che ajax (di cui non so niente, ma non è che in javascript sia più ferrata) risolva questo problema in modo meno complicato rispetto a quanto pensavo di poter fare con javascript?
Ajax non è altro che un sistema di sviluppo per applicazione web che consente una comunicazione tra la parte client e server effettuando chiamate asincrone. Questo significa che l'utente che sta visitando quella pagina non si accorgerà della tua chiamata a php appunto perche questa avviene in background quindi senza ricaricare la pagina. Ti lascio un link preso da wikipedia dove trovi una dettagliata spiegazione di tutto ciò.
Ora tornando alla tua applicazione, tutte le chiamata che facevi a php per andare avanti e indietro nel calendario ecc... dovranno essere sostituite con delle chiamate ajax e la variabile di cui parli, credo non sia altro che un parametro che passi a php quindi dovrai aggiungerla come parametro nella chiamata ajax. La questione della query string per mantenere i dati anche dopo il caricamento non ti interessa piu appunto perche la pagina non viene piu caricata e quindi i valori non dovranno essere reinseriti.