Code structure for a login modal dialog.
First off, I'd retrieve all the elements right away, instead of running $(...) again and again:

var loginDialog = (function($) {
  var dialog, form, button, template;

  // Get the elements once, on page load
  $(function () {
    dialog = $("#login-dialog");
    form   = dialog.find("form");
    button = dialog.find(".btn-primary");
    template = $("#alert-tmpl");
  });

  function show() {
    dialog.modal({
      backdrop: "static",
      keyboard: false
    });
  }

  // ... et cetera ...

})(jQuery);


As you can see, I've also put the variable declaration first. If you use expressive functions, you should do the same with all those variables too (which is why I usually prefer to use standard function declarations instead - fewer variables to declare).

(oh, and, yes, I've moved the braces around, but we've covered that in the comments :)

Generally, though, it seems quite fine, and well-structured. There are some functions that could be dropped, since they just call a different function - for instance handleSuccess which is basically an alias for hide. On the other hand it's nicely descriptive to have a handleSuccess function. And if you want to more on success than simply call hide, it's of course nice to have encapsulated.

Lastly, in handleError you .append the error message to the form, so if there are more errors the form will keep growing. Don't know if that's by design, but I imagine you might want to only show one error at a time (and perhaps even remove it on success).