I need a help necessarily about using virtual private server technique to host mail domain and its sub domain the possibility. I have almost 18 sub domain in different states and the main mail server so I will use a one public IP address for the 18 sub domains.
Sounds like simple DNS records. Point the different subdomains (A records) to their respective IPs and the mail server (A & MX records) to their respective Domain & IPs. If you're unsure of what to do, it's a simple task for your registrar, just give them a call, or Google will certainly have plenty of information since that's a common task. Then be patient as things propagate.
Depends on the application and what you consider a medium enterprise to be. What would work for the average 50 user enterprise is very different from a 50 user enterprise that in addition houses their own web applications, needs redundancy, and content filtering. How many systems and servers are there? How much growth do you expect in the company? What services need to be accessed from outside your network? Do you have satellite offices tying in, VPN or otherwise? What threats are you concerned about besides the obvious (do you want to monitor/control web access, add an extra layer of malware protection, etc.)? How critical is uptime? The more details you provide the better. There's thousands of options, and what you need can range quite a bit.