Single script to Instantiate two unique objects

I have the same script on two gameObjects in my scene. The script creates a prefab empty in a location in space. It works just fine on one object but when the script is active on both, there’s no way for the program to tell the difference between the two prefabs and they will mistake the other for their own.

GameObject setTarget(Transform target){
        GameObject targetLocation = (GameObject) Resources.Load ("Prefabs/targetLocation", typeof(GameObject));
        Instantiate(targetLocation, target.position, Quaternion.identity) as GameObject;
    }

The other piece of code is a Lerp coroutine that uses targetLocation.transform as the location.

StartCoroutine (Movement (targetLocation.transform));

Is there anyway to keep the two different objects from using the same variable inside the setTarget method?

If you’re talking about the targetLocation variable in there, that variable goes out of scope and would not be the same anywhere else.
You are also not storing the instantiated object in any variable, so how are you keeping track of any at all?

GameObject tempObject = Instantiate(targetLocation, target.position, Quaternion.identity) as GameObject;//Puts the prefab at the same location as retreat

        return tempObject;

To answer my question. I’m going to have to rename my GameObject’s name like this:

targetLocation.name = this.gameObject.name + "targetLocation";

And then find it like so:

StartCoroutine (Movement (GameObject.Find (this.targetLocation.name).transform));

If you already have a reference to your object, you should not (need to) find the reference again.
You’re not providing a complete picture, but snippets without context, which makes it very hard to help you properly.