You could try just adding a PROC APPEND to your macro so that you can aggregate the individual output datasets into a single output dataset.
But you can probably just get PROC MEANS to generate everything in one call if you setup the data properly.
To remove the BRANCH variable from the grouping variables for some of the PROPTYPE values you can just set it to missing.
Looks like this is what you want to do;
data for_analysis ;
set loanapp;
if PropType in (1,2,3,4);
if PropType = 1 then cutoff = 800000;
if PropType = 2 then cutoff = 800000;
if PropType = 3 then cutoff = 1000000;
if PropType = 4 then cutoff = 1200000;
if price > cutoff ;
if not (PropType=1) then call missing(branch);
run;
proc means data=for_analysis mean nway missing;
class proptype cutoff branch ;
var CreditScore Interest PercentDown;
output out = loan_out;
Title1 "Mean of Credit Score, Interest Rate, and Down Payment";
Title2 "of Property with Sale Price Greater than CUTOFF";
run;
... View more