Путем экспериментов разобрался самостоятельно.
1. Есть встроенные функции модели и нодинтерфейса, позволяющие получить значение любого атрибута текущего элемента либо пути:
listeners: {
  itemclick: function(view, record, item, index, e, obj) {
    console.log(record.get('text'));
    console.log(record.getPath('text'));
    console.log(getDepth('text'));
  }
}
2. Стандартный json файл можно расширять с помощью полей модели:
Ext.define('ECS2.model.model_treestore_invoices', {
    extend: 'Ext.data.Model',
	fields: [
		{name: 'text', type: 'string'}, // указывать обязательно для визуального вывода в дерево
		{name: 'invoice_date', type: 'date'},
		{name: 'invoice_number', type: 'string'},
		{name: 'invoice_item', type: 'string'}
	]
});
Затем эти скрытые поля можно использовать в логике приложения:
...
console.log(record.get('invoice_item'));
...