User controls aren't meant to be initialized as variables, so this is going to be a kind of hack. If you want to set other properties than the ones inherited by Control or UserControl, you will have to use reflection (i.e. no medium trust).
Custom controls, on the other hand, are much more flexible. You can implement SimpleControl
to automate a few tasks.
Anyway, here is how you load a user control:
|UserControl ctrl = new UserControl();
|Control myControl = ctrl.LoadControl("~/UserControls/Tickets/BuiltToBreak.ascx");
Since user controls are partial classes, at design-time (in VS) you cannot access the second "part" of the control which is dynamically generated by ASP.NET. Still, you have the instance and can access all methods through reflection. but, as I said before, it is not a viable option.
By the way, adding a user control to a Sitefinity page this way will not work well. Internally, ICmsControl has a type property, which in the case of user controls is set to the virtual path of the user control's ascx file. Whey you add it like a regular control (like I do in this example), it won't throw an exception, but a few glitches here and there will appear.
A side note: Sitefinity automatically persists the state of public controls, so you do not have to load/save the state.
As a conclusion - if you want a user control, use it as such and do not expect advanced behavior. On the other side, if you want full control, use a custom control.
the Telerik team