Let's call your usercontrol "Bob"
If you Inherit from UserControl in Bob, then I guess it's safe to do this:
Bob b = (Bob).Load("~/customUserControl.ascx");
For the user part, I can't really follow what you want to do, is the "user" in the class were you create the "Bob" usercontrol and you want to set a property in the "Bob" usercontrol or is it the other way around?
For the first one you should create a property in your usercontrol.
class Bob : UserControl{
public string User { get; set;}
}
and then set it when after you create "Bob" instance.
b.User = theuser;