I have a tool that does something along the lines of what you are asking about. In my tool, the user clicks a button that has a predefined variable, in this case, a TV guide for animation, but it could be made dynamic so that the user decides what the button inputs by using a list or a text input. The button then executes a script that I have below that imports a SWF from my content library and places it on the stage. This content doesn't necessarily need to be from an external file. It could be from the Flash library as well.
This example is single purpose and hard coded to be used for a specific item, but like I mentioned you could create a list in your SWF panel and depending on what item is selected in that list, you pass in that variable as a string to the JSFL script. I generally place all of the JSFL inside the ActionScript class when I do this and use MMExecute to execute the JSFL. The reason I do this is so that it is easier to read and I can see where I am passing in these variables.
var dom = fl.getDocumentDOM();
if (dom == null)
{
alert('Please open a file.');
}
else
{
var lib = dom.library;
var file = fl.configURI + 'WindowSWF/ContentLibrary/TVGuide.swf';
// Create a new layer and name it TV Guide
dom.getTimeline().currentLayer = 0;
dom.getTimeline().addNewLayer('TVGuide');
//dom.getTimeline().setLayerProperty('name', 'TVGuide');
// Import the TVGuide SWF
dom.importSWF(file);
//Lock the TVGuide Layer
dom.getTimeline().setLayerProperty('locked', true);
}