Dijkgraaf - 2:53 am on Jan 26, 2012 (gmt 0)
1) Have a separate table to hold the address data which also has a From - To date.
When they change addresses, you create a new record for the address and update the to date on the old address. Any work order etc should link to the unique id on the address & customer id.
2) Have a validfrom & validto date on the service type. When it changes in price create a new row with a validto in the future or null and with the validfrom date. Link the work item to the unique identifier of the row and not the service type code. When creating a new order, select the row where the work date is between the validfrom & validto dates.