As you've discovered in a Policy set a CallList field can only be set to a static string value, not to a CallAttribute variable.
You have to modify the Custom_DialerPreCallRuleActionEvent handler to do what you want. Be sure to backup the default handler before you start.
Use a GetDialerAttributes step to retrieve a named pair list, modify the value in the AttributeValue List, then use a SetDialerAttributes step to update the CallList.