A family of Microsoft relational database management systems designed for ease of use.
I agree with John, milestones are the changing of a condition and are one instant in time. I think there may be another way to accomplish what you want.
Using a spare text field such as Text1, you can label each task as to which "effort type" it belongs to such as Carpentry, Painting, Electrical. You can then use the custom grouping features (In 2010 that is on the View Tab, in the Data group.... look for "Group By..."
You can Group By the Text1 column and then you will change your display from grouped by "Room" to grouped by "Effort Type". You can undo this arrangement by selecting Group By ... no group.
What happens is you will now have "summary tasks" that are for Painting, Electrical, etc. The %Complete should roll up correctly weighted for the tasks beneath it. If it does not, I use this trick: In a spare number field (Number1) set a formula in that field as =[Percent Complete] and then it should roll up fine.
Let us know if that helps.
Jim