Мы так и поступили — DomDocument на сервере модифицирует дерево по тому же алгоритму, что и клиент. Только без xpath. В чем преимущество в использовании xpath в данном случае?
Чем аргументируете извращенность? Можно заложить в структуру, но тогда теряем простоту и скорость! как можно выполнять очень быстрый поиск по такой структуре с разными параметрами? Возможно, приведете пример подобной структуры?