Hi Matt Meleski,
Unfortunately this is difficult to do in xaml. The approach here would be - have a two collections of columns either declared in code behind or as static resources.
Then when you need to switch the columns use the RadGridView.Columns.Clear() and then RadGridView.Columns.AddRange( .... ) passing here one of your collections.
Looking at your sample code I note the set of columns is almost the same for the two cases and differs by only the last two columns. So you can also add/remove only those two columns in code behind or if they are always present - just toggle their visibility and hide them when not needed.
the Telerik team