Вы бы привели лучше кусок кода, так сложно сказать, что из этой цепочки можно безболезненно выкинуть (ну кроме начальных "html/body").
Например, сколько у вас элементов ol (не вложенных в другой ol)?
Если один - можно сократить уже до "//ol/li[3]/ol/li[1]/div/div[2]/h3/a".
Если ol вложенный в другой ol один - можно оставить "//ol//ol/li[1]/div/div[2]/h3/a".
Дальше смотрите, почему у вас li[1] и div[2] - это с равным успехом может быть и особенностью структуры (в других li и div'ах совершенно другое содержимое, относящееся к тому же объекту, т.е. один объект - один отдельный ol, встречается и такое), и необходимостью выбора нужного пункта (тогда у каждого объекта - свой li и свой div).
В первом случае - скорее всего можно сократить до "//ol//ol//h3/a".
При любом раскладе - в коде ещё почти наверняка куча моментов, которые можно было бы использовать не только и не столько для сокращения длины текста локатора, сколько для его оптимизации и приведения к конкретному универсальному виду.