На момент создания виджета, точное кол-во столбцов неизвестно. И в процессе работы приложения по велению юзера столбцы могут добавляться/удаляться (связные данные, вычислимые поля и проч). Физически данные более тяготеют к таблицам а-ля результат SELECT..GROUP BY..
Возможностей стандартных gtk_tree_store|gtk_list_store явно не хватает
Возможно кто-нить видел или делал похожую модель - поделитесь ссылкой на реализацию, чтобы взять как основу.