@proxy : Mais il faut quand même qu'il déclare ou pointe le vhost dans la config d'apache (DocumentRoot, etc) ??
Perso ce que je ferai c'est une sorte de répertoire ou ton script php à les droits d'écritures dessus, il écrit des informations qui sont nécéssaires à la création de ton vhost. Ensuite tu fait un script sh qui tourne toutes les * (heures, jours, comme tu le sens), et qui parcours ce répertoire à la recherche de fichier. Quand il en trouve un, il crée le vhost correspondant, puis le supprime. Et hop !
Par contre, comme l'a dit proxy, il faut aussi prendre en compte les dns ! 🙂