Thanks everybody for the help. It was Michael Kay's last clue that got it for me... I needed to use a relative path from the current node, include the namespace URI, and select from the context of the current node I'm iterating through:
Map<String, String> uris = new HashMap<String, String>();
uris.put("wms", "http://www.opengis.net/wms");
XPath xpath1 = doc.createXPath("//wms:Layer");
xpath1.setNamespaceURIs(uris);
List nodes1 = xpath1.selectNodes(doc);
for (Iterator<?> layerIt = nodes1.iterator(); layerIt.hasNext();) {
Node node = (Node) layerIt.next();
XPath nameXpath = node.createXPath("./wms:Name");
nameXpath.setNamespaceURIs(uris);
XPath titleXpath = node.createXPath("./wms:Title");
titleXpath.setNamespaceURIs(uris);
Node name = nameXpath.selectSingleNode(node);
Node title = titleXpath.selectSingleNode(node);
}