>So, how do I incorporate "location" into this?
Have the client declare it.

>Do I leave it defined as static?
No, you remove it completely. Having a current location variable as a member of a linked list class isn't the best design to begin with. Making it static only complicates matters because a static member exists across all objects of the class. So if you have two lists then you still have one location. Imagine the confusion that would be caused by that.

The solution is to provide a location type instead of a variable, that lets the client code declare their own location variable. This way you give the client more flexibility. Now instead of being forced to use one location, they can have several independent locations pointing into the list, as well as multiple lists existing simultaneously.