Can you make the hook_menu() item title different from the page title?
No there's no way to do it with hook_menu().

The simplest way is what you suggested, using drupal_set_title() and the most efficient is what dobeerman suggested above: use phptemplate_preprocess_page() and alter $vars accordingly.

Honestly though, I would just use drupal_set_title() even if there is that extra db call you mentioned (unconfirmed). This is a tiny optimization and if performance is important to you, you should have some caching mechanism in place (Varnish, Boost, etc) and this extra call won't make a difference!