Although frames and iframes may require duplicate requests, most browsers will cache .js, .css, and .htm/.html files. This virtually eliminates the redundant request overhead, while still allowing a rich interface constructed from a page of micro pages.
This approach also avoids the complexity of AJAX/JSON. Done properly, it is completely transparent to the site visitor.