If key import is the use case, you could also make the index smaller by pointing at only the first block that mentions an address. If I send coins today, such an index would immediately eliminate 152,000 blocks from the search. I'd guess that imported keys typically have a short time between initial funding and sweeping to a semi-permanent address.
I would recommend the index point to all of the blocks that mention an address, otherwise I could DoS websites offering private key import simply by repeatedly trying to deposit private keys from transactions done a long time ago, even if those keys had no funds.
But there is one place I would put a derivative of the idea you just mentioned: in the -rescan command. I frequently need to import large numbers of private keys. I have patched my own bitcoind so that importprivkey doesn't rescan the wallet immediately, so it returns instantly. After importing keys, I shutdown and do a rescan. I have it so that I can do bitcoind -rescan=150000, that it will only rescan from block 150000 if I know I'm only importing recent keys... saves me tons of time importing private keys in the absence of that index. (in a nutshell, I added an optional "nSkip" parameter to ScanForWalletTransactions()). Of course, having the index would be much sweeter.
I'm also looking forward to this pull request. I want to merge some wallets and would like to use official code.