it's not really easy, because of the way custom fields are managed for each plugin object (test catalogs, test cases, plans, test case in plan statuses).

Anyway, I'll try to find some time to figure out a solution.

One that comes ot my mind is to have column order specified in trac.ini. This would be less difficult than being able to drag-n-drop columns around on the page ;-)