I think things will get a little messy for you, having LayoutDocuments in your MainViewModel, but I can understand a bit why you're going that route. Sometimes perfect separation between model and view is way too complicated.
For the subject of knowing when the property changed, you might try http://joshsmithonwpf.wordpress.com/2009/07/11/one-way-to-avoid-messy-propertychanged-event-handling/.
Just noticed you're looking at PropertyChanging, wouldn't you want PropertyChanged?