Generally progetto files can be scanned exactly the same way as roms for other emulators/collections.
All you need to know is how to store the files properly...and here the general rule applies:
rompath\setname\file1..filen for not compressed sets, rompath\setname.zip(.rar/.7z) for compressed ones.
So for example you have
F:\Progetto\progetto-SNAPS - Bosses\Bosses\3in1semi.png
where F:\Progetto\progetto-SNAPS - Bosses is the rompath, Bosses is the setname (coming from the belonging datfile) and the png file is actually one file in the set.
Progetto dats are organized that you usually only have 1 set (or some for softwarelists) and thousands of files in it.
Rebuilding: well, it can take long if you're using compressed sets...since then single files are added to an existing dat over and over again....this takes long.
The match count can grow so high. There are thousands of placeholder files within the progetto snaps which are fully identical and they do match again thousand of files in the dat....so you can rather quickly reach such amounts. A match is found when one source file matches one database instance...and in this case it matches a lot...and you most likely got a lot of identical sourcefiles...
If you want to speed up processing (which is hard with progetto), use decompressed files and no special additional checks like sha1 checks etc...or in scanner don't use fix missing deep checks etc..