Q:

intercept applyBindings to create viewmodel observable

I am injecting HTML into page.  I then call applyBindings().
In some cases I have bindings to viewmodel properties that don't exist yet.  Is there a way to intercept the individual bindings, as they are made by applyBindings(), so I can create the missing property??

A:

You need to implement a custom binding provider.
I'm updating this part of the answer thanks to the comment by Michael Best.
If you're implementing it for KO 2, a binding provider looks like this:
var customBindingProvider = {
    nodeHasBindings: function(node) {
        // return true if the node has bindings, usually if it has
        // data-bind attributes
    },

    getBindings: function(node, bindingContext) {
        // return a binding object, like this:
        // { boundPropertyName: bindingContext.$data.boundValue }
    }
};

In KO 3, there is backwards compatibility for this implementation, but it's deprecated. The new implementation should implement getBindingAccessors instead of getBindings. That function, instead of returning an object with properties and bound values, must return an object with properties and value accessors, which are functions that return the bound value, like this:
    getBindingAccessors: function(node, bindingContext) {
        // return a binding object, like this:
        // { boundPropertyName: valueAccessorFunction }
    }

More info here: What is the difference between bindingProvider.getBindings and bindingProvider.getBindingAccessors?
In both cases the  binding provider is registered in this way:
ko.bindingProvider.instance = customBindingProvider;

You can modify the view model in getBindings, where you can access it using the bindingContext parameter. To fully understand how this works, please read this blog post on custom binding providers, whose implementation is at https://github.com/rniemeyer/knockout-classBindingProvider.
You could store the original binding provider, before registering your custom provider, so that you can access the original functionality after modifying the context.
Another interesting sample of a bindig provider: Knockout and Custom Binding Providers
And another one at SO: Knockout js lots of custom bindings

