In the repeat, I'd have two calculates. One for diameters below threshold (e.g., ${dbh_lt25}), and one for above (e.g., ${dbh_gt25}). Then outside the repeat, use sum() on the two separate calculates. E.g., sum(${dbh_lt25}) and sum(${dbh_gt25})
For the list, do you mean a literal list? In that case, you will want two more calculates in the repeat. One for less than threshold and one for greater than threshold. Both will have a similar format: concat(${dbh_lt25},'<br>') and concat(${dbh_gt25},'<br>'). Then, outside the repeat, you just sum() those up and you will have a list.
Note: When using SUM() like this to create a list, be sure to either set the fields to null or greatly increase the field length. If you don't, the fields will default to 255 character length, and exceeding that will return an annoyingly vague error.