BT++ can load all your PMs in one single page
Not sure it's enough for you
I could probably use that, then save site to file, and then use grep to filter it out and save it into a nice database.
Is there a Firefox extension that will do it automatically?
No. A browser extension can not access a database.
You can access the database right here:
https://bitcointalk.org/index.php?action=pm