Thanks Bert, I hadn't seen that post. I knew blockexplorer used jgarzik's patch, but I was hoping to avoid (1) patching bitcoind, (2) dumping transactions for each block to text, (3) searching the text dump or put it into a database, (4) repeating these steps for each new block.
The Python script bitlotto pointed out may be just the ticket, thanks! Though reading the source there's some interesting stuff about 'self-modifying code'. Cool and scary.