Ваши требования не совсем понятны.AFAIK, XPATH только унесет вас, поскольку он используется только для навигации по вашему XML-документу.Вы можете использовать его, чтобы помочь вам найти нужные элементы, но для фактических замен вам понадобится что-то еще.
Использование LINQ to XML (вместе с регулярными выражениями):
var doc = XDocument.Load(@"C:\path\to\file.xml");
var xpath = "/Adresses/*/XPath";
var query = doc.XPathSelectElements(xpath);
foreach (var element in query)
{
var newValue = Regex.Replace(element.Value, @"Local\[\d{3}\]", "Local[001]");
element.Value = newValue;
}
Использование XSLT может быть вариантом, но я не уверен, как использовать его здесь в этом случае.Но держу пари, что это не будет красиво (по сравнению с приведенным выше кодом).