How do I set my custom module to use a template for a specific page?
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.