Actually, it's a little more involved than replacing the piston. I researched some of the details myself and decided to do it at a later date. Rebuilding the motor is the easy part (if building the same motor, before and after).
Anyway, to get a 145cc motor, you will need to replace the liner. The 145cc displacement requires a 61mm OD piston. The stock liner OD is only 62mm and the case mouth is 64mm. The case would need to be bored to clear the new liner. I'm not sure what size the new liner would be. Based on the stock liner thickness (62mm-56mm), the new liner would be around 68mm.
Now, you can get a bigger motor without boring the cases. The biggest you can bore the stock liner is 59mm for a street bike and 58mm for a race motor (thicker is better). 59mm bore will leave a 1.5mm wall (stock is 3mm). The cb550f piston is 58.5mm and the second overbore will get you 59mm (+.5mm).
In both of these cases, the piston top needs to be considered depending on which head is used. I believe (someone correct me if I'm wrong) the later two piece heads (76 on) have a bigger combustion chamber. If so, those heads will require a bigger dome to keep the same compression ratio. If the planned pistion (550 or 750) top is too short or flat, you will need to mill the head or use a copper gasket to increase the CR. Or get an aftermarket high compression piston. The difference might be around .5mm. This info you will have to determine on your own.
It's been regurgitated a couple times by now, but the two piece heads also have bigger valves (xl200, cb125, xl125). They are (30.0/25.0) in/ex. as opposed to (27.5/21.0)mm. The one piece 74-75 XL125 heads are (29.0/23.5)mm.
For cams, all heads will fit any cam across the board. The bigger motors have more aggressive cam profiles.
For carbs and exhaust, all will also fit. So put the bigger carbs, exhausts, heads and cams on the smaller motors!!