Another advantage of just sending the required data is that you might be able to server other types of clients (e.g., an iPhone app or other non-html client) from your server. I like JSON (see [man]json_encode[/man]) myself but some folks prefer XML.
This also relates to your templating strategy. It's been my experience that keeping your design/layout/presentation separate from your application's logic is a good idea. Beyond knowing that in a vague sort of way, I don't really have any good ideas about how to organize one's templates that might include javascript in addition to HTML.
EDIT: If you do end up using Javascript to generate HTML elements in your page, I would strongly recommend the use of jQuery or some other layer between your javascript and the browser. Browsers have a lot of tiny differences that can cause your code to work on browser but not another. It can drive you totally insane.