I'm in the beginning stages of creating a game using AS3/PMVC. So far, things have been going well. One aspect of the game that i've been pondering is how to externalize the assets, but reduce the total amount of network traffic required to load the assets for each level. Since most of the assets will be re-used from level to level, i'm thinking of using the following idea. You can load the assets (in my case, swf's and bitmaps) using the URLLoader, with the dataFormat set to BINARY. This binary data would be held in a Proxy. When the level mediator needs an asset, it asks the Proxy for the Binary data. It then uses a flash.display.Loader object's loadBytes() method to "create" the instance of that asset.
I read about this on Colin Moock's blog, although he doesn't detail it (its an excerpt from his book, which i've yet to get). He also uses the Socket object, rather then the URLLoader one. I went with the URLLoader because its just so darn easy to use.
I don't know if this is how others do it, but it seems like a good idea to me!