Почему возникла такая необходимость? Как соотносятся эти две ViewModel друг с другом?
Я обычно использую тот же PropertyChanged, чтобы слушать изменения свойств одной viewmodel в другой (например, если одна viewmodel для элемента заказа, а другая - для вывода суммы заказа). Это для случая, когда вьюхи связаны друг с другом.
Если вьюхи совсем никакого отношения не имеют друг к другу, то может тогда через уровень данных это сделать (репозиторий, например)? У нас в проекте репозиторий на клиенте хранит DTO, которые возвращает веб-сервис. Когда содержимое этих объектов обновляется (они регулярно перезапрашиваются + перезапрашиваются после PUT/PATCH операций), репозиторий генерит ивент, на который подписаны вьюхи. Вьюхи уже сами определяют, что изменилось, и, в свою очередь, генерят PropertyChanged.
Если это все не подходит, опишите ситуацию подробно, сейчас только понятно, что у вас есть две ViewModel, и больше ничего.