Yes, I was thinking in terms of providing both Tcl API and PL/[pg]SQL API.
As far as your first question goes I suppose it would be possible to do as you ask, though I've not thought of it before. It would actually make it simple to solve a .LRN permissions problem we're currently dickering about in e-mail now that you mention it.
The notion would be to add one parent-child row to the context hierarchy table rather than zap it with all a child's parents as is done when security_inherit_p is true.
Hmmm ... interesting idea. There's a utility vs. confuse-the-programmer trade-off to consider, though.