Yes, including an expiration_date parameter in the
add_to_cart_form is exactly how you would do it. The expiration
date is entered as days from purchase.
Set the channel that holds your public profiles as your
purchased items channel in the CartThrob > Orders settings tab.
Then the entries that get added there will have expiration