Hmm also ich brauch schon alle Werte, wenn ich den Usernamen nich in der URI übergebe
Aber die steckt ja gewissermaßen auch in der SessionID drin.
muss ich die ganze Seite neu programmieren
Wenn Du Änderungen haben willst, musst Du Änderungen machen, das ist nunmal so, ja :-)
Die PHPSESSID will ich ja mit Javascript übertragen
Übertragen wird immer nur mit HTTP. Und ob die URL im HTML-Klartext stand oder per JavaScript in die Seite geschrieben wird, bei der HTTP-Übertragung steht das selbe drin.
Du könntest statt Sessions natürlich auch Authentifizierung per "htaccess" machen, dann hast Du gar keine SessionID o.ä. mehr in der URL, dann schickt der Client die Anmeldedaten selbständig mit, ohne dass Du oder Deine Nutzer das bemerken.