Ok I see what you mean. the template system itself doesn't allow that to happen through the normal channels, i.e. there are bindings, bindings are interpreted, tasks are ran, templates are looked up in the bindings, parsed, interpreted and output is created. Lpt templates are also compiled all before the first task is ran, so that too makes things not possible the way you see it.
However, you can take advance of how things are compiled of course: all lpt templates are all compiled into 1 assembly, and each template ends up as a class with the templateid as the name. (I ran into a tiny issue with this, with v3 there's a small addition, but that's not major). So instead of including templates at the spot, you can also call into a template's method which emits what you want.
So instead of including the code dynamically, you have each method in 1 template (so 1 template with all the methods), then in your meta-data you call into that template, the emit method which will emit the code you want to include at that spot. This to me is equal to including a template at runtime.
Does this make sense or do I overlook something?