you can virtualize SCCM on MS Virtual Server 2005. I have not installed SCCM on Windows Virutal Server 2005, but SCCM works in Windows Server 2003 OS and when you create a VM for SCCM, you will VM it as Windows Server 2003 and SCCM install on this OS, so there shouldn't be any problem.
I have installed SQL2005 even clustered in a VM with Win2k3 on Win Virutal Server 2005. So, you should be able to put both SCCM and SQL in the same VM. Your option 2 would be more appropriate.
Yes, you can also use your Web server to host another VM for a second DC, that would make your solution more reliable and will provide more options when comes to maintainance and upgrade etc.