Can I run a web server (for websites) on the same server that Zimbra is installed on?

Yes, you can if you are not using the Zimbra Appliance Edition. The web server and Zimbra server ports (namely Port 80 and 443) must be configured to not conflict. This can be done by assigning multiple addresses to the server, allocating one IP to Zimbra and the other to the web server. Or by allocating Zimbra to respond to HTTPS (Port 443) only and the web server to just HTTP (Port 80).

Can I run multiple domains on my Zimbra server? Does this cost more?

Yes, you can run multiple domain names on your Zimbra server and this does not cost more. Zimbra is licensed on a per mailbox basis. So you can have multiple domains delivering email to the same mailbox and the mailbox can have multiple email addresses which email is sent from. For example: Can be configured to ALL deliver to Fred’s mailbox Fred can then send from any of the fred@example[1 .. 5].com or bob@ or sam@ domains.

Can I run Zimbra on a Windows Server?

Not natively since Zimbra requires a Linux or *nix based operating system. However, you can run Zimbra just fine within a Virtual Machine on top of a Windows server host.