Well, now that EE has a dedicated ‘themes’ directory, you could have your modules’ themes put into there to keep it all organized. Then, as for calling the, I would suggest looking at mod.member.php specifically the _load_element() function. What it does is includes the file containing the template data. The file contains the template data in functions that are part of a larger class (you might opt to skip the class and just use functions), so the data/template can be retrieved by simply calling that class’ function after the include: $template = $CLASS->template_function();
As for parsing the contents of the template, you might take a peek at _final_prep() in the mod.member.php file and you can see how we have abstracted the parsing of language variables and paths. If you want to do something like {include:another_template} that gets a bit more complicated.
Does that help any? Not exactly sure what you really need, so I am trying to give some pointers to show you how we are doing it.