How to set the parent of menu items creating using hook_menu()?
Since the Events menu item links to a node, for which events is a path alias, what you are trying to achieve should work if you define the menu items using the following code (I use "11" as node ID).

function MYMODULE_menu() {
  $years = array(2011, 2010, 2009);

  foreach ($years as $year) {
    $items['node/11/' . $year] = array(
      'title' =&gt; $year . ' Events Archive',
      'page callback' =&gt; 'page_archive',
      'page arguments' =&gt; array(1),             
      'access callback' =&gt; TRUE,
      'type' =&gt; MENU_NORMAL_ITEM,
      'menu_name' =&gt; 'main-menu',
    );  
  }

  return $items;
}


This is necessary because, if events is a path alias for node/11, Drupal doesn't expand events/2011 to node/11/2011. In the same way, it will not expand events/edit to node/11/edit, even thought the Node module defines nodes/%node/edit as one of its menu items.