Пара риторических вопросов к размышлению:
1. Что произойдёт, если клиент отправляет запрос, но при этом на хостовой машине будет запущено сразу несколько экземпляров приложений Revit, в каждом из которых, в свою очередь, будет работать указанная служба?
2. Каким образом, в обозначенном выше решении, внешнее приложение сможет адресовать свой запрос конкретному процессу, если присутствует ситуация, обозначенная в п.1?
Я не специалист в WCF, поэтому наверняка некоторые вещи можно сделать более грамотно, чем мне это видится сейчас. На мой взгляд, в обозначенном решении, между клиентом и сервисом, хостящимся в Revit не хватает посредника - дополнительной службы, работающей либо под управлением диспетчера служб Windows, либо хостящейся в некотором стороннем процессе. Клиент должен обращаться не напрямую к службе, хостящейся в Revit, но к службе-посреднику, указывая в составе своего запроса идентификатор того процесса, которому он хотел бы адресовать этот запрос. Посредник же, в свою очередь, выполняет переадресацию запроса нужному экземпляру службы. Этот же посредник может управлять временем жизни экземпляров процессов Revit, создавая\закрывая их по мере необходимости.