Respostas:
Acredito que você está procurando:
history.pushState( stateObj, title, url );
E definitivamente leia: https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
Os estados históricos definitivamente ainda têm limitações em termos de compatibilidade entre navegadores; portanto, se você estiver procurando resolver versões antigas do IE, etc ... talvez seja necessário atualizar apenas o #hashmark no URL.