Re S_H999's suggestion to use the remove match option (trash can) to deal with overload of private tree matches, the problem is that the ancestry surname/location search tool on your DNA matches won't pull them up once they are put in the trash can.
On the other hand, a filter that lets you only see public trees listed in your matches would be like the private/public tree search that now exists when you are searching for information on the main ancestry.com search -- you now can simply click you want to only see public trees on that search so it would be an easy step, I suspect, to have the same filter for looking at dna matches (i.e. let me see all matches or just public ones). It would save lots of time...you can always go back and look at private trees since a filter wouldn't delete them or put them in removed group. You can always contact owners later , a if the dna surname search pulls them up for a name you are looking or the owner makes it public or attaches a dna tree, as a fair number of people do.
As a temporary work around, I quickly open private trees so that they get taken out of my "new" match list, but don't put any notes. Then if the owner makes it public later or adds a dna tree to their results, I will see I have a public tree with no "note" next to it and recognize that it is probably a formerly private tree now attached to a public tree. Not ideal, but it is a workaround.
The OP's suggestion for a filter that allows us to choose between see all or see just public would be better and has been suggested before. It shouldn't inflame any of the warfare re public private trees..just speed up looking at matches with more potential when you are hitting 10,000 matches as some of us have already!