The only approach that would come close is rendering the view in a web viewer. You store the HTML or use XML or JSON as a preference saving medium and parse that out to produce the html to view.
since the table view is mostly used as a 'fixed list', You could get that list using sql and displaying a textbox with the desired data, not table view, collums not resizable, no custom sort by clicking on a header - but close to a classic view. The text box could be formatted, can contain a header
You can't create dynamic layouts using xml. If the 'table' is required, Wim's method to use html tables serves well
Alternatively, a 'virtual list' approach may work too. Building on what Markus is saying, you could store the fields names that the user selects then use SQL to collect the data and display it in a virtual list way.
Not practical but out of curiosity I searched a bit.
If you have an hosted file, and you change the columns of a table view with the modify button, your prompted with a "do you want to save the change in the layout", if you chose "No". Then the column would be stored on your client machine only.
I dug a bit, and it's stored in a .fch file
Too bad it's gibberish you can't understand what's inside, and it's probably not a good idea to mess up with it.
Hide fields, according to user group ?
1 layout and "n" views