In general if you don't know the type at compile you can use reflection to create a generic type at runtime.
However, in this case Unity provides non-generic method overloads (for most functionality) which accept argument(s) of type System.Type
instead of generic type argument(s). This allows you to specify types at runtime or to use unbound generic types.
In your case you can use this code to register your call handlers with no reflection required:
foreach (IAspect asp in Policy.Aspects)
{
policy.AddMatchingRule(ruleLog)
.AddCallHandler(asp.CallHandlerType,
new ContainerControlledLifetimeManager());
}