Tones, maybe my post in response to @SnapSam
already does most of this:
It sets up a view-template element such that whenever something is a tag (i.e., has tiddlers tagged under it), you get a dynamic table showing exactly the fields that exist for tiddlers so tagged.
I remember when I discovered that Dynamic Tables can use filters not only to determine the rows, but also to determine the columns. It’s so powerful!
Then once the automatic table is there, you can go to town with realizing things like, “Oh, it turns out I specified a url field for one of these tiddlers (or exp-date or card-on-file), and that was a great idea; let’s round out the column with corresponding url-field data for the others…”
-Springer