Should the server and database be running locally (at home) or in the cloud (with azure or something like that)?
Ambos são possíveis, cada um com suas vantagens e desvantagens. A consideração mais importante é a disponibilidade.
If it runs locally how can the employees in the company connect to the local server (via a VPN maybe?)?
Você precisará encaminhar algumas portas para o seu roteador (melhor não 80)
para a porta 80 do servidor. Você também precisará de um nome DNS para sua empresa.
se você não tiver um, veja
5 melhores provedores de DNS dinâmicos que você pode pesquisar gratuitamente hoje mesmo a>.
Os funcionários irão acessar via https://yourDNS:yourPort
.
Você não precisa de VPN.
How can I guarantee availability when I run it locally?
Você não pode. Não há garantia quando estiver rodando na nuvem, embora as porcentagens sejam melhores.
What alternatives are there to XAMPP (that are for production and not development)?
Existem outros servidores da web, no Linux e no Windows. No Windows, principalmente, o IIS é usado. Pesquise por eles.
What else should I take into consideration?
Muito. Preste especial atenção à segurança e evite Vulnerabilidades de injeção de SQL .