Даже проще =)
У Loader'a помимо метода load(URLRequest), есть метод loadBytes(byteArray).
Загружаем внешний файл как массив байтов, и лоадером считываем этот массив неограниченное число раз внутри программы.
*метод, loadBytes - тоже асинхронный, поэтому рекомендую обращаться к событию окончания загрузки.

Код:
public var urlLoader:URLLoader = new URLLoader();
public function LoaderTest()
{
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.load(new URLRequest('image.png'));
urlLoader.addEventListener(Event.COMPLETE, bytesLoaded);
}
public function bytesLoaded(e:Event):void
{
var byteArray:ByteArray = ByteArray(urlLoader.data);
var loader1 = new Loader();
loader1.loadBytes(byteArray);
addChild(loader1);
var loader2 = new Loader();
loader2.loadBytes(byteArray);
addChild(loader2);
loader2.x = loader2.y = 20
}