The first instance of an NSDocumentController (or a custom subclass) to be allocated will become the +sharedDocumentController, which is what you want. The easiest way is just to instantiate it in the main nib, like you say. It doesn't need to be the app delegate, though there's nothing wrong with doing that (you're basically combining the main app controller with the document controller, which if there's not much code to deal with can make sense).
Afterwards, you can use [NSDocumentController sharedDocumentController] to get access to your instance. Look at the comment in the NSDocumentController.h for that method for more info.
BTW, to set up the accessory view for Save panels, you'll have to do that in your NSDocument subclass(es).