I've added a customer request ticket to increase the number of columns in that table tool. How many do you think you'd need? No guarantee this can/will happen, of course, but we may as well ask!
In the meantime, I've seen folks do some interesting things with the drop-down tool and Windows with no borders. Here, perhaps you could use a drop-down to select your "index," and that made a (borderless) window with a table pertaining to that index/Customer come up, which listed the Field Names and their corresponding values.
Kind of turning the display format on its side here, with one PAC Display table/window for each index.
These X windows could be piled on top of each other so the user would have no idea there was more than one window. X would correspond to the number of index values you have (how many customers, in this example). Would that be a lot? Would X change frequently? (Hoping you say no, otherwise this might not be practical.)
(here I'm showing PAC Display's table index slightly hidden, but you could hide it completely).
Assuming all these are string values, the data you'd populate these tables with might be something like:
stFieldNames = "Customer Name";
stFieldNames = "Address 1";
(Although I'd use this "Initialize a Giant Table" method if you have more than just a few of these.)
You'd also have a string table for each X (or possibly a pointer table if you have non-string values to use), like this:
stTable01 = "Mary";
stTable01 = "123 Main Street";
stTable02 = "Ben";
stTable02 = "22 Opto Lane";
etc. If you're with me so far, and don't mind a pointer here and there, I'd recommend populating these multiple string tables using the GetPointerFromName command, I'd be happy to whip up a little OptoScript example if you'd like....