Hola, lo que quieres realizar es un poco extraño pero yo creo que se puede, bueno te explico (en éste método no estoy utilizando reflection): lo primero que tendrías que hacer es escribir a disco dichos archivos (ascx y el codebehind), la único que tendrías que cambiar en la declaración de tus controles de usuario es el atributo CodeBehind por Src, de la directiva @Page Ej:
Código HTML:
<%@ Control Language="c#" autoeventwireup="false" Inherits="TuEmpresa.ControlUsuarioX" Src="wuc.ascx.cs" targetschema="http://schemas.microsoft.com/intellisense/ie5" %>
y el CodeBehind sería algo como esto:
Código:
namespace TuEmpresa
{
// .....
public class ControlUsuarioX : System.Web.UI.UserControl
{
// ......
Esto mismo puedes hacer con los webforms, ahora los detalles estarían en estandarizar los Namespaces y los nombres de los controles de usuario.
Esta alternativa me parece mejor para lo que deseas hacer.
Saludos