Ну так свой механизм напишите централизованный. Я бы реализовал как плагин. Плагин вешает на компонент необходимые события (перетаскивание столбцов, изменения их разхмера и тп) при которых пишет в какой то свой статический объект необходимые данные связанные с ID компонента. Также плагин вешает на главное окно приложения на unload обработчик который отправляет в удобном вам виде этот объект на обработчик вебсервера, который в свою очередь пишет это в базу. (Мы заморачиваться на стали и для каждого юзера делали файл username.json в котором лежал json). Также при инициализации вьюпорта с помощью специально обученного статик интерфейса плагина загружайте с веба нужный json и после загрузки продолжайте рендерить остальные компоненты. Еще плагин должен вешать на компоненты onbeforerender, в котором компоненты будут брать из статического объекта состояний нужную инфу и применять куда надо.
Когда вы заведете этот механизм, вы просто забудете о этих состояниях, просто будете записывать в какой то объект что нужно и когда угодно извлекать. Очень удобно. Еще советую перегрузить глобально Ext.Component - напишите метод который возвращает ссылку на кусок глобального объекта плагина, который относится только к текущему компоненту. И вы просто будете делать так
var myState = this.getOwnState();
myState.a = 100500;
И после перезагрузки страницы буде
this.getOwnState().a === 100500