The SPDE engine per se, is quite a powerful feature, but I wouldn't recomend it for the average user, as it is an advanced feature very system dependent.
Beside the options stated above, I will add another that you consider or not.
Say you manage to store every received table with a unique name, you could then consolidate all the data on a single view.
For example, lets say you have one table per vendor, if and only if, each table name could be in some way associated with the corresponding vendor (for example vendor name or vendor ID), the you just have to keep all the tables in a single libname and create a view over them.
To access the data, you just have to open the view which will consolidate all the tables into a single one. And updating the data for a specified vendor is actually very easy, you just have to overwrite the vendor table with the one you received.
Cheers from Portugal.
Daniel Santos @
www.cgd.pt