Gegen die Sammlung der Agenten in einer DB spricht auch nichts (ganz im Gegenteil).
Dann baust Du Dir eine Agenten-Start-Datenbank, in der Du periodische Agenten hast, die die Agenten in der Agenten-Sammel-DB über agent.run aufrufen (idealerweise über Einstellungsdokumente einstellbar). Für jede Executive installierst Du dann eine dieser Datenbanken und definierst die Agenten, die jeweils aufgerufen werden sollen.
Beim Aktivieren der Agenten in den Agenten-Start-Datenbanken musst Du aber beachten, dass alle Agenten, also der aufrufende und die aufgerufenen vom gleichen User möglichst zeitgleich signiert sind. Ich löse das damit, dass ich die aufgerufenen Agenten auf periodisch nie einstelle und dann mit einer Schaltfläche erst den aufrufenden Agenten aktiviere und danach alle aufgerufenen Agenten deaktiviere, dann sind alle Agenten gleichzeitig vom gleichen User unterzeichnet.
Noch eine Fallgrube, in die Du fallen könntest, ist session.CurrentDatabase in den aufgerufenen Agenten, denn session.CurrentDatabase ist bei dieser Konstruktion die Agenten-Start-Datenbank. Da sollte generell agent.Parent verwendet werden.