Your question is not clear, but I will have a go.
Yes, you can include any file as a resource in an assembly. (If using Visual Studio, add it to the project and Embad as Resource ... I think it's similar in #Develop and probably other IDEs. On the command line use /res:abcd.exe.)
To run a file, you must unpack it, save it to disk and Process.Start it.
void RunFileFromResource(string name){
Stream s = Assembly.GetExecutingAssembly.GetManifestResourceStream(name);
string tempPath = Path.GetTempPath();
FileStream fs = File.Open(tempPath + "/" + name, FileMode.Write);
s.CopyTo(fs);
fs.Close();
s.Close();
Process.Start(tempPath + "/" + name);
}
Remember that if you're in VS you will get the irritating namespace prefix on all your resources (as far as I am aware there is no way to turn this off). Your assembly must have access to the file system and be allowed to start processes (which means full trust) for this to work, obviously.
Your point 3 does not make sense with the rest of the question. What you may mean is whether it is possible to link an
assembly as a resource, and load forms from within it at runtime. While it is, that is a strange thing to want to do (if you want it as one file you can just combine all the classes into one assembly).