The ceiling on that number is pretty high (thousands if not millions). The catch is the protection table isn't interpreted in a vacuum; it gets joined with every other mapping involved in running a given command (which usually includes the client view). So in some situations your multiple wildcards behave fine, and then one person puts a couple multiple wildcards in their own client (or a branch view, or a command argument, or all of the above) and now suddenly the computed mapping is five million lines long because things went from O(n) to O(k^n) or whatever (I'm fuzzy on the math, but it's bad). Every time someone hits a map.joinmax error (or crashes their server because they overrode map.joinmax and overflowed memory) it's because they had multiple wildcards in their protection table and it was fine until it suddenly wasn't.
Here's what the different levels correspond to: https://swarm.worksh.../map/mapdebug.h
You can look at the debugging statements in the rest of the map/ folder that are gated on those flags to get an idea of what they're dumping out. This line seems like the most likely to be useful for answering the question of "how often does this mapping line get referenced?": https://swarm.worksh.../maphalf.cc#419
I'm not sure what you'd actually do with that data or if it would be in any way useful, but that's about the only window there is into what the mapping code is thinking.