When you instantiate an object, is there anyway to add a transformation to the object (so you can create an exploding type effect) using the script that is instantiating the object? Or would you have to attach a separate script to the prefab that you are going to instantiate (if that is the case. how can you instantiate objects and make the objects face a random direction)?
All GameObjects have a Transform so you don't need to add one. You can specify the position and rotation inside the Instantiate function like this:
var prefab : GameObject;
Instantiate(prefab, Vector3.zero, Random.rotation);
http://unity3d.com/support/documentation/ScriptReference/Random-rotation.html
If you use a variable you have access to the components of the object, e.g.:
var clone : GameObject;
clone = Instantiate( ... );
clone.transform =
(More examples at the reference.)