I am wondering when I am creating a new website should I choose an ip address from the list or leave it "unassigned ip address"?
Typically you would leave it unassigned unless any of the following (as examples):
1) You have multiple SSL Sites that do not support SNI (like vhosts for SSL), so you must map an SSL and IP to the site's FQDN.
2) You have multiple networks interfaces and do not want to listen on all interfaces and all IPs.
3) Your site is behind a local proxy, and you want to prevent bypassing the load balancer (also recommend non-standard ports if doing this method or dedicated load balancer), common for tomcat or nodejs.
Depends on what you are going to do in the future. If you are only ever going to have one thing running on IIS, it shouldn't matter. If you start hosting multiple sites, you will need to assign an IP address to each one. See here for further information: https://technet.microsoft.com/en-us/library/cc753195%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
It really depends on your plan in the future and the version of IIS you're using. There will be different strategies based on which IIS version you are using.
If you're using IIS 7.5 or less and you install an SSL Cert - You can only assign one SSL per IP. So you will need different IP's for each site you want SSL Certificate on. Remember the Site and the SSL Cert must match.
Now with IIS 8.0 that limitation is lifted with the SNI Feature.
So with host headers, you're not going to run into an issue with "unassigned" IP's, but once you add in SSL and depending on which version of IIS you are using, you're going to have some decisions to make.