As much as I like JSON I agree that for CPAN.pm like programs a variation of the current index really seems like the best match (5 lines of perl for the parser; backwards compatible; easy-ish to make as memory efficient as possible).
For other tools having a more complete data structure would be nice; but there's no reason that PAUSE couldn't produce indexes in different formats. If so then the optional "fancy index" could be any combination of SQLite, JSON, <buzzword-bingo-of-the-day> that we like. - ask