Ответ
Да, такая конструкция называется деструктуризация (destructuring declaration). Kotlin позволяет разбивать объекты на отдельные переменные, если класс имеет соответствующие компонентные функции (component1(), component2() и т.д.).
Для Pair и других стандартных классов (например, Triple, Map.Entry) эти функции уже определены.
Пример:
val pair = Pair("Hello", "World")
val (first, second) = pair
println(first) // Hello
println(second) // World
Под капотом это преобразуется в:
val first = pair.component1()
val second = pair.component2()
Ограничение: Количество переменных должно совпадать с количеством компонентных функций класса.