I have a page that by default lists posts by chronological order. After the page is loaded, I want the user to be able to click on a button that will sort the posts by author alphabetically, then back to chronologically if desired. Is there a way to do this without sending a new query each time?
Yes and no,
As long as your blogs are all loaded at once (no pagination) this should be possible with javascript.
However if you are using pagination only the blogs shown on the page you are showing are loaded there for a new query is required each time. This can be done either by a full page reload, or asynchronous using a ajax call.