A hotel greeter named Alfred
From the comments, I guess you would like a theoretical review ;)


This: 

&lt;button onclick="javascript:alfred('greet')"&gt;Arrive at Hotel&lt;/button&gt;
&lt;button onclick="javascript:alfred('acceptTip', 10)"&gt;Tip Alfred $10&lt;/button&gt;


in my mind should be wired by the controller,  that is, the linking of UI elements to data and UI changes
This:

greet: function () {
    this.model.view.innerHTML = '"' + this.model.greeting + '"';
},


has your controller access data straight in your view, updating the DOM. This is wrong in my mind. The view should have functions that the controller can call with either the model as a parameter or already passed in advance.
Object.create(controllerPrototype); &lt;- Any reason you are eschewing new and prototype ? 
Not that it truly matters but, method === "model" will not catch new String('model')
args = [].slice.call(arguments, 1); works as well as the ternary


All in all, I think this could use some more polishing.