This is pretty wierd as I started working on exactly the same kind of project today, and my comapny is also too poor to afford the PAF files ...
I have over 30,000 addresses and need to match them to 10,000 customers. I still need to add the 30,000 and then have a hierarchy of 30,000 including the 10,000 customers. As I match I need to update the address from the 30,000 file ( as that is more accurate).
The 10,000 customers come from a Cache database and are stored in a different format to the 30,000. The 30,000 (when extracted) are actually in a condensed form of the addreses you dealt with (e.g. if the address consisted of 4 fields the Country would be the last, whereas the next address may consist of 7 fields with the Country the last).
I must admit that most of the suggestions where in the idea box already (Great minds eh?) but I hadn't thought of using Soundex, which I am going to look at now. The merging program will be written in C# and I would be extremely grateful if you would consider swapping notes. If you would please contact me.
I'll post any tips I come across,