<p>I'm using IIS in Windows 2003 Server for a SharePoint intranet. <br />External incoming requests will be using the host header <code>portal.mycompany.com</code> and be forced to use SSL.</p>

<p>I was wondering if there's a way to set up an alternate host header such as <br /><code>http://internalportal/</code> <br />which only accepts requests from the internal network, but doesn't force the users to use SSL.</p>

<p>Any recommendations for how to set this up?</p>

Assuming that
http://internalportal/
wasn't accessible from outside the company, you could set up two websites in IIS. The first site, configured to use a host header value of 'portal.mycompany.com', would require SSL. The second site, configured to use a host header value of 'internalportal', would not require SSL. The host header value is configured under 'Web Site' -> 'Advanced'.
Having a hardware load balancer makes things much easier. The site on the load balancer is set up to require SSL, and your websites in IIS are setup not to require SSL.