Нет. Языки не развиваются в этом направлении. В решительном большинстве языков программирования есть арифметические типы и есть нативная реализация операций над ними. Эти типы часто опираются на архитектуру процессора и у каждого типа есть диапазон возможных значений. Например, 1 байт (0…255), 1 байт со знаком (в прямом дополнительном коде −128…127). Т.е. высокоуровневые алгоритмические языки «пляшут» от железа и каждая арифметическая операция компилируется в зависимости от типа аргументов в совершенно однозначный исполняемый на этом железе код.
Поддержка значений с размерностью потребует не только универсальной (слабой, weak) типизации (которая сама по себе влечёт дополнительные накладные расходы), но также масштабирования значений (например, при суммировании граммов с тоннами) при каждой операции, и дополнительно вычислений над размерностями. Например, если мы умножаем секунды на секунды, то где-то рядом с числовым значением должно быть записано, что это [с²], а если мы делим [кг·м²] на [с²] и получаем может быть джоули, а может быть эрги.
Реализация такой системы вычислений да еще встроенная в язык кажется чрезвычайно интересной задачей. Не похоже, на то, что можно легко и быстро нафигачить классов, которые это реализуют над стандартными типами: нельзя для секунд делать один класс, а для секунд в квадрате — другой, а это разные размерности. Заново реализовывать придётся не только все стандартные арифметические функции, но и самые базовые операции, начиная прямо со сложения, потому что граммы к тоннам прибавить можно, а [м/с²] сложить с километрами уже нельзя.
Проблема в том, что те кто разрабатывает языки не имеют потребности в такой системе вычислений. И в этом ответ, почему не существует таких языков. Всех (в том числе и заинтересованных лиц) устраивают простые и универсальные языки, где все данные уже приведены к нужным размерностям, а от вычислительного алгоритма требуется найти только численное безразмерное значение.