As the custom binding automatically inherits the bindingcontext from the view its contained within, all that was needed was to access the $root model from the bindingcontext in the custom binding handler:
ko.bindingHandlers.groupTree = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var rootVm = bindingContext.$root;
$(element).fancytree({
minExpandLevel: 1,
source: tmUnwrapped,
lazyload: function (e, data) {
data.result = datacontext.getGroupChildren('1111');
},
activate: function (event, data) {
var node = data.node;
rootVm.selectedArticle(node.title);
},
})
}