How do I add a menu router that works even in the maintenance mode?
You can use hook_menu_site_status_alter() to change the site status for a specific path.

Control site status before menu dispatching.
The hook is called after checking whether the site is offline but before the current router item is retrieved and executed by menu_execute_active_handler(). If the site is in offline mode, $menu_site_status is set to MENU_SITE_OFFLINE.

The user module implements that hook (user_menu_site_status_alter()) to make sure the site is always online for the user, user/login, user/password and user/reset/* paths. It should be simple enough to use the logic from that function to implement it for your custom path, e.g.
function MYMODULE_menu_site_status_alter(&amp;$menu_site_status, $path) {
  if ($menu_site_status == MENU_SITE_OFFLINE &amp;&amp; $path == 'my-path') {
    $menu_site_status = MENU_SITE_ONLINE;
  }
}