The tilde is simply an easier way to universally describe a $HOME directory. You can edit your $HOME directory to anywhere you want by editing a specific file in your /etc directory, so simply saying /home/username is not even close to ALWAYS correct. Generically speaking is much easier, thus the use of the tilde (~) as a meaning of "The current users home directory". Such as the example before: IF you've got a user named bob, his home directory (~) is /home/bob And if you are anywhere on your system and as that user type cd ~ it will change to the user's home directory.
As for XSession, it's located in /etc/X11 However, be very weary of editing this file too often and without good instructions.