How do I set my custom module to use a template for a specific page? I have created a custom module that adds some form elements to nodes of specific content types. Another part of this module requires a specific formatting output of data that is a little more complex than using $form[''].

How can I tell my module that for a specific function, it should load a certain template file?
Template files are associated with theme functions. To use a template, the theme function that is declared in hook_theme() must report that it is using a template file, and this is done adding the "template" property.
For example, the following definition used from the Node module says to Drupal that for the "node" theme function, it needs to use the "node.tpl.php" template file; every times a module calls theme('node', …), Drupal will know to use that template.

function node_theme() {
  return array(
    'node' =&gt; array(
      'arguments' =&gt; array('node' =&gt; NULL, 'teaser' =&gt; FALSE, 'page' =&gt; FALSE), 
      'template' =&gt; 'node',
    ), 
    // …
  );
}


For a page that is visible on http://example.com/parcels, Drupal checks for a template file named "page-parcels.tpl.php" exists, and use it in that case. The template files are looked in the directory of the currently set theme, though; this mean that the template is not found if it is in the directory of a module.