Hey there, yes you can load it once; you can have all your assets in one SWF, and once loaded use them as it becomes necessary.
For example, let's say you want to use two graphical rows (movie clips), rowA and rowB, on the SWF you have to load; this SWF will act as your asset library. What you have to do is create the rowA and rowB movie clips in your library and set them to be exported for Actionscript use. (On your FLA's library, right-click on them and click on properties, and select Export for Actionscript, on the Class input field enter "rowA" for this example, and "rowB" respectively). Now that you have you assets on your library (they don't have to on stage) publish the swf file.
Now, let's move to the SWF where you'll actually use this "library". Here, you just need to load your SWF library (the one with the graphic assets) and you are good to go. Code example,
// Our URL Request
var req:URLRequest = new URLRequest();
req.url = "assets.swf";
// Let create our loader
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLibLoaded);
var context:LoaderContext = new LoaderContext();
context.applicationDomain=ApplicationDomain.currentDomain;
loader.load(req,context);
function onLibLoaded(e:Event):void
{
createRows();
}
function createRows()
{
var myRowAClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition("rowA") as Class;
var rowA:MovieClip = new myRowAClass() as MovieClip;
this.addChild(rowA);
var myRowBClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition("rowB") as Class;
var rowB:MovieClip = new myRowBClass() as MovieClip;
rowB.y = rowA.height;
this.addChild(rowB);
}
As you can see, once your asset library is loaded, you can use the assets whichever way you like. Anyway, hope this helps, and hopefully is what you were looking for.