I decided to write this as an answer since it is too long for a comment.
To "properly" set up what you want, you need several parts working together:
- AJAX: (eg: jQuery.ajax) Retrieve data from the server programmatically with javascript
- CSS/HTML dialog: (eg: jQueryUI dialog) Create a fake popup inside your page, usually to give the content some prominence
- History State: (eg: SO Q/A) Change the page URL (in addressbar) without reloading the page.