You can use versioning to manage and document changes to a product.
You can use the price determination rule to define prices for the product dynamically and according to other attribute values.