Is it possible to only update one panel (or block) as a result of a the URL clicked elsewhere?
If you want your links to stay unaffected, you need to:


Attach onclick javascript event to all links. In it, send AJAX query to server.
On server side detect when links are clicked on page supporting dynamic loading (referer is a good start). Send HTTP 204 status code to prevent full page reload. Do not avoid it by returning false from event mentioned in point 1 - if you will, address bar will not match content.
In response to ajax query, server should return what IDs are supposed to get replaced, and with what.
Javascript on page needs to accept and process data from point 3.


Little explanation: HTTP 204 from server tells the browser that http request is legit, but no data from the server is needed. Normally when you want to alter url in browser window, at least part before #, browser reloads page. This is to prevent theft page from impersonating bank page and so on. So you need server-side solution to actually allow address change without reload - target server will not impersonate itself. Or if it will, it's his right to do so.