Concatenation comes with a number of issues: filtering, constant terms, AR(1) regressor, BOLD response regressors running over between runs, etc.
If you really want to concatenate the data, then look at the gPPI toolbox function spm_estimate_PPI.m and pull out the sections of code related to concatenation. The code utilizes a single subject model to create the correct concatenated model with the filtering and regressors built on a per run basis. You should be able to adapt it for your analysis. Getting the PM built correctly might be the hardest part as it just pulls the values from the prior analysis.
If you compute the mean of each PM for each session and use that a a scaling factor (we'll call it S), then you recover the non-demeaned PM by adding S*taskregressor. Then across all runs, you could create a new scaling factor that is the mean of all PM values (we'll call this S2), then subtract S2*taskregressor in each run to get the multi-session adjusted values.
I'll work on adding this to the PPI code in the future, but it shouldn't be too hard to code this by hand.