I don't know, but my first reaction would be probably not. Since a user can potentially drag and drop columns to reorder them. Maybe there is a trick I can't think of though.
When I look at what you have, it makes me think you would be better of using Grid instead of DataGrid. Grid definitely allows column spannning. You might have to create the grid cells dynamically in code.
But I could see doing it with Grid without TOO much trouble, but DataGrid, not so much.