Будучи программистом, рожденным и воспитанным в мире C и C ++, мой первый ответ на этот вопрос был бы "хранить их адреса в массиве!" Но после пары лет возни с сетью, я могу дать правильный ответ:
В javascript вы можете напрямую хранить ссылки на объекты в массиве.
И нет, xpath не очень хорошая идея для этого; использовать ссылки проще и лучше.
Итак, прямой ответ на ваш вопрос: нет уникального идентификатора для элемента / узла DOM, кроме самого .
В javascript все объекты передаются по ссылке. Вот пример кода, как это сделать:
var theArray = [];
var theNodeToTraverse = document.getElementById('domelementtosearch');
traverseAndStore(theNodeToTraverse);
function traverseAndStore( node )
{
if( node==null) return;
theArray[ theArray.length ] = node;
for( i=0; i<node.childNodes.length; i++ )
traverseAndStore( node.childNodes[i] );
}