Yay! Moshe Zadka is contributing to Bicycle Repair Man! Much cheerfulness!
He mentioned that tree transformation in BRM seems to him to be similar in spirit to the Python XML Validator written by Lars Marius Garshol. I've been perusing Lars' code for about an hour or so. It's definitely sparked some ideas.
At this point I'm considering subclassing the Node classes in Python2C's ast.py and adding getParent and getSiblings methods to them. I think I could write a fast tree search that just looked in a dictionary for nodes and then asked those node personal questions about their relatives. I'm not sure how difficult it would be to implement those methods though. I'll know soon enough.