Lord, clients can make the absolute dumbest, inefficient decisions and then you have to do all the extra dev work to support their silly decisions. It's a
great time to bring up the topic of hourly billing because if you let them drive you down that road of decisions that "look pretty" but take an inordinate amount of time to implement, you can get yourself into trouble (that's been my experience anyhow).
You might do this more cleanly using a custom output filter, but here's what your template might look like (include Jquery):
<script>
$("#readmore").click(function(){
$("#my_teaser").hide();
$("#my_content").show();
});
</script>
<div id="my_teaser">
[[*content:elipsis]]
</div>
<div id="my_content">
[[*content]]
</div>
And then your "read more" link would need to be correctly identified so as to trigger the onclick behavior:
<span id="readmore">Read More...</span>
Hope that helps. The elipsis filter doesn't print "both sides", so you can see my cheap workaround is even MORE inefficient when dealing with this on a single page.