Lo scenario che avevo immaginato è esattamente quello da te descritto.
Come ti dicevo non è una soluzione semplice da implementare (non so quale sia il tuo livello di seniority) e - soprattutto - impossibile da illustrare in un post nel forum.
Concettualmente quel che devi fare è definire un'interfaccia che descriva l'extra-job da eseguire e fornire per ogni implementazione che ti serve (ovvero per ciascuna procedura richiesta dai tuoi clienti) una dll. Attraverso il file di configurazione di ogni installazione definisci quindi quale modulo (DLL) deve essere caricato e, al termine del processo standard, esegui mediante reflection il load dell'assembly necessario e ne invochi il metodo.
Ok, tradurre questo in codice non è semplicissimo ma se cerchi un po' (ad esempio puoi provare una query tipo "c# plugin architecture sample") trovi sicuramente qualche articolo esaustivo (quello su codeproject -
http://www.codeproject.com/KB/cs/c__plugin_architecture.aspx potrebbe ad esempio essere un buon punto di partenza)
Se poi decidessi di percorrere questa strada e ti verranno dei dubbi più specifici... beh, sai dove trovarci
HTH