Используйте, например,
Set doc = Server.CreateObject("Msxml2.DOMDocument.3.0")
doc.async = False
If doc.load(Server.MapPath("input.xml")) Then
doc.setProperty "SelectionLanguage", "XPath"
Set docEl = doc.selectSingleNode("response/result/doc[arr[@name = 'ID'] = 2]")
If Not(doc Is Nothing) Then
Response.Write(docEl.selectNodes("preceding-sibling::doc").length)
Else
Response.Write("Not found.")
End If
Else
Response.Write doc.parseError.reason
End If
Как уже отмечалось, если вы хотите, чтобы индекс начинался с 1, а не с 0, вам нужно добавить 1 к результату.