По вопросу 1 посмотрите «Регистрация во время выполнения». Это описано в книге Джорджа Дурзи и Майкла Гринли, но вы также сможете найти информацию с помощью своей любимой поисковой системы.
Что касается вашего другого вопроса, не существует поддерживаемого способа сделать то, что вы хотите, используя API. Единственный вариант - использовать Lync SDK в режиме подавления пользовательского интерфейса, но это означает, что вам потребуется переписать весь пользовательский интерфейс Lync. Для обзора всех поддерживаемых API и точек расширения см. эту статью
Неподдерживаемая опция, если вам удобно с Win32, будет состоять в том, чтобы использовать вызовы Win32 для вставки вашего собственного пользовательского интерфейса в клиент Lync, но это может быть грязно.
Я еще не пробовал API по ссылке, которой вы поделились. Я полагаю, что он может выполнять эту работу, но не поддерживаемым Microsoft способом.