ну по аналогии с Панелью Управления Windows сделать можно. в каталоге с программой есть библиотеки dll с расширением к примеру .cpl. программа сканирует все (файлы) библиотеки с этим расширением и вызывает из каждой из них функцию GetCommandName, которая возвращает имя исполняемой команды этой библиотекой. экспортируемая функция GetCommandName у всех библиотек имеет одинаковый тип WideString. программа запоминает соответствие имени библиотеки с командой. при выполнении команды программа будет знать из какой библиотеки вызывать функцию ExecuteCommand. как с быть параметрами мне лень дальше писать
можно предусмотреть вариант заставить программу пересканировать список библиотек в случае добвления новой команды и соответственно новой библиотеки.