Andrew, you have already an exact idea what you would like to do. Just use the PCD API to write an iView which provides the desired functionality. In fact you will need to (the premise is I understood your requirement properly):
1.)write a custom PCD search, that will deliver you a set of roles. Ideally you will write an own jQuery UI for that or something comparable, so you/your customer can choose where to start in the PCD, define the search string etc...
2.)Your search should deliver you a set of roles. You need to run through it and analyze the role content recursively down, till you will find or even not the iView you are looking for and include considered role in a result set
This is just a suggestion, of course you can adapt the algorithm UI etc to your needs
regards