Herrmann,
also ich ziehe mein aaargh teilweise zurück, aber so richtig Struktur ist bei Dir immernoch nicht drin.
Nun schrittweise:
Du hast einige virtuelle User gehostet - das funktioniert hoffentlich.
Die Zustellung neuer Mails an diese virtuellen User machst Du via procmail (und ich hoffe, auch das funktioniert).
Du willst nun von anderen Mailservern Mails abholen und an diese virtuellen User zustellen.
Wenn das so paßt (die Definition der User in der pgres-DB ist hierbei erstmal wenn überhaupt nur ein Randproblem, da das nur von postfix benutzt wird), dann kannst Du einfach fetchmail einsetzen.
Dem fetchmail sagst Du so Sachen wie "hole vom Server xyz Mails für den Account userbla ab und übergebe sie dem lokalen SMTP, der das wiederum an den User bla@virtual reichen soll".
Das hat mit procmail & Co (delivery agents) nichts zu tun, da fetchmail die Mails an den SMTP übergibt, der wiederum aufgrund Deiner Einstellungen entscheidet, wohin das Mail gehen soll (und bei lokalen Mails später den delivery agent anspricht).
Dann kannst Du für jeden dieser User ein entsprechendes Skript bauen, das er wie auch immer (zeitgesteuert oder via Webfrontend per Mausclick) ausführen lassen kann. Ein großes Skript für alle User ist auch machbar.
Soweit die Vorgehensweise, wenn Dein Problem tatsächlich das "fetchen" sein sollte.