The ClientScriptManager is what you are looking for it has a set of RegisterClientScriptxxx methods for registering strings/include file/resources etc. as client script blocks. Each of these methods takes arguments of a key and optionally a type, the script with each key/type are only included once.
In the OnLoad or OnInit of your user control you want a call like the following
Page.ClientScriptManager.RegisterClientScriptInclude(typeof(MyUserControl), "myscript", @"/path/to/my/script.js");
No matter how many instances of the user control are in the page the script will only get included once.
BTW, Page.RegisterClientScriptxxx methods are now deprecated, ClientScriptManager is preferred.