XAMPP is really appropriate for maybe hosting a few sites, or doing testing and development (what it is really designed for).
If you have a lot of sites and need to do a lot of things AND need real security, you have a big learning curve. XAMPP is designed to be OPEN so devlopers don't have to fight the system. Doing all the configuration work and securing your installation will be a good-sized task. I'm real unsure what 'you' mean by subdomains (thats kinda a webhosting term) I suspect you mean 'hostname' - its the 'www' or 'support' (whatever) separated by a . (dot) that comes before the domainname.http://www.webreference.com/html/tutorial2/2.html
So - its like I said - welcome to learning about vhosts (virtual hosts).
If you have more than a few domains, ANY self hosting will be a big learning curve and a fair amount of work. If all your sites are for fun or personal interest, basically XAMPP could be made to work. So could any Apache/MySQL/PHP stack for Windows (some are more or less work) IF you are doing e-commerce on them or you want to, or you are getting ad-revenues from traffic, you prolly are better sticking with a webhost. If you need real e-mail (your own mailservers) - there's another decent sized thing to learn. Those web hosts ahev done all the back-breaking woirk for you. Self hosting is MORE expensive for sure in terms of time than almost any hosting plan. its all D-I-Y. So if you have time and inclination AND patience, it can be a lot of fun. If its to make money or save money - its a poor use of time.
These are ONLY my own personal opinions, but I do self host (my own servers) many domains for business both on Windows/IIS and on Centos/Fedora/linux?Apache. I only use XAMPP for peronal interest stuff and my blogs.