You don't say what load you expect from the Intranet app. I'm guessing that unless yours is a huge company the Intranet app won't be that big a load. In that case the key target is managability. If so, I would use two Hyper-V VMs. You can put them on the same physical server to start with, and if the load becomes too great put each VM on it's own server.
The advantage of having IIS and SQL on separate servers is simplicity. You don't have to worry about changes you make to one service affecting the other.
The advantage of using VMs instead of real servers is that you can back up VMs just by (shadow) copying the folder they're in. This makes things like SQL Server service packs much less scary. If you have two physical servers you can even keep copies of the same VM on both servers, then if you lose a physical server you can quickly bring up the VM on the other physical server. It also makes hardware upgrades much easier.
I would use W2k8 for IIS. Whether it's worth using x64 is debatable. I did use x64 on my most recent IIS server, but I ended up having to run IIS in 32 bit mode because many of the COM servers it needs are only available in x86 versions. For the SQL server using x64 will future proof it if you think you may need >4GB RAM, and to be honest you can never have too much memory for a SQL Server. I would probably choose SQL 2008 on the grounds that you'll have to eventually, and it's a lot easier to do it now than have to upgrade later.
Having a SQL Server on a virtual disk might raise some eyebrows (or will it be on a SAN?) but my testing of our middle size databases suggest that the performance hit is barely noticable. In fact when I recently moved one of our SQL Servers to a VM it ran about 50% faster, simply because of the massive increase in disk speed of the new host server compared to one two years old.
John Rennie