First of all, please make sure that your main process and sub process has exactly the same measures defined, order is especially important.
This should work fine for AND branches, the Custom Measure should refer to its local variable value.
Explanation.
What is happening in AND split branch is, each branch will have a local variable space, and there will be global variable space.
By default, every update to either of the local variable spaces (=each AND branches) will also update the global variable space (=last update overwrite if same variable name).
And, Custom Measure is only reading from global variable space if you just specify its process variable name.
For your case, you can write ${P_branch.assigned_email} in the Custom Measure configuration.
Each branch has manual task, and each of these are separate Web Interface instances, and will show up as 2 (or more, depending on # of branches, 1 for each branch's manual task) separate records in Web Interface report.
And these instances will show their respective assigned_email from their local variable.
What I am not sure is, how it will show from the Web Interface report where there is no branch (like in main process) - I have not tested this myself so far.
If, when there is no branch, P_branch prefix is just ignored and displays simple "assigned_email" value, then this sound perfect for this case.
Best regards,
Taka