You could simply copy the full movie a few times and delete the unneeded bits from the new partial movies. Move shared resources into a shared cast and they can all use the same scripts and such
by deleting the unneeded bits you mean to shorten the duration of the spirits? how to convert internal cast into external cast?
By "delete the unneeded bits" I mean that you will be removing anything that is not needed in this part of the program. For example, lets say you have a program where there are 3 parts.
2) Photo area
So you could easily break it up into three dir's. First duplicate the whole movie. Then remove anything that is not needed for the menu. Save as "menu.dir".
Then duplicate the entire original movie again. Remove anything that is not needed for the photo area. Save as "Photo.dir".
Duplicate the original movie again. Remove anything not needed for the quiz. Save as "Quiz.dir".
Then you can just have the program jump between movies as needed depending upon the user's interaction (like clicking on the "Quiz" button or something).
To make an external cast, go to Modify, Movie, Casts. Hit the New... button and choose External. Name it whatever you want. Then save it and give it a filename. For best results save it into the same folder as your source dir files.
Then you can just drag all the members that you want to be shared into this cast. Do this before cutting the program up into pieces and all of the members that are in the shared cast will be shared amongst all the different parts.
Feel free to read the help file which explains all this.