navigation doesn’t work in custom header.php

Well, I’m mostly thinking that you should maybe switch to using wp_nav_menu() for your navigation menus, and CSS to add the images to your nav items, because it’s a lot more dynamic that way, and you can use “pretty” permalinks like http://urbanpalate.com/portfolio/some-work.

As it stands though, I think your nav menu items just need a / at the beginning of the urls like this:

<a href="https://wordpress.stackexchange.com/?page_id=12"><img src="<?php echo get_template_directory_uri(); ?>/img/portfolio.png" alt="Urban Palate portfolio" /></a></li>

That would take you to http://urbanpalate.com/?page_id=12, which I hope would load your portfolio page. The / means it’s an absolute url: or, start at your home url, and go to a page. Without the /, your nav items are pointing to pages under the blog page because they are relative to which page you are on.