Better if it'd be separate boat object (and expensive), but the sprite could be the same.
So, you build upgradeable boat the same way as current one. At this moment, it is identical to normal boat, but you can make one of the following upgrades:
a) Add one more passenger seat.
b) Add one more cargo space.
c) Remove one cargo space and make boat faster.
You can make only one upgrade and only once.
More restrained version of these upgrades (to preserve current gameplay balance) could be:
a) Remove one cargo space and add one passenger seat.
b) Remove one passenger seat and add one cargo space.
c) Remove all cargo space and make boat faster.
With this version of the idea, it'd be great if sprites were changed a little to reflect modification type. For example, with upgrade 'b' there could be boxes/chests or something where is a passenger place in normal boat.
P.S.: Sorry, if similar thread/suggestion was made already...