Одна из возможностей сделать это - создать подкласс NSWindowController и связанный с ним XIB окна, который загружается при создании экземпляра контроллера окна.
Я уверен, что у вас уже есть некоторый класс контроллера, обрабатывающий щелчок мыши вNSTableView.В этом классе просто держите экземпляр упомянутого выше подкласса NSWindowController как переменную экземпляра.Всякий раз, когда вам нужно отобразить окно, скажите, что ivar отображает его окно.
Если содержимое окна зависит от ячейки таблицы, по которой щелкнули, просто добавьте некоторые методы в контроллер окна, которые изменяют содержимое его окна, и вызывайте ихметоды в вашем методе обработки кликов перед отображением окна.
btw: я бы не использовал здесь синглтон, потому что в этом случае это просто обходной путь для плохого дизайна (только мое мнение, а не сложный)факт).