That can be problematic, as you'll end up with your little fragment of a page getting into the index.
If you can get away with it, it's a lot easier to "fake" ajax with plain old DHTML.
<div id="content-display"></div>
<div id="content-1">Some content</div>
<div id="content-2">Some other content</div>
<style>
#content-1 { display:none; }
#content-2 { display:none; }
</style>
<script>
displayContent = function(contentId){
$('#content-display').update($(contentId).innerHTML);
}
</script>
Now you've got all your content visible to search engines, all at the same (and correct) URI, but for users with Javascript enabled, it acts like the AJAX solution (but faster, after the initial load, which is a bit slower).
Now, if you've got a TON of content, you'll have to think of something smarter. But if all your content weighs relatively little (don't forget to make sure your server gzip-encodes content), this setup is preferable.
Otherwise, if you've got hundreds of kilobytes (or more) of text content, you'll have to get craftier. Your initial thought is pretty right on.
<a href="/some/page.html" onclick="$('#content').load('/some/page.html')">
LinkyText
</a>
Will generally do what you think it will. The problem is, of course, that '/some/page.html' will end up in search indicies. You could try doing tricky server-side things (like checking referers and redirecting back to the "main" page), but I'm not convinced that's not a pandora's box.
Hopefully someone will come along with another answer that addresses this. If I think of something, I'll edit this one.