Algor and NEiNastran both have a level of event simulation that is probably sufficient for your needs and they cost less than LS-DYNA or Abaqus Explicit, but since you have LS-DYNA and Abaqus already, I would lean toward LS-DYNA. I don't have experience with either of these, so my opinion is based purely on what I've heard. DYNA seems to be the definitive standard in car crash simulations...I can't see why a "boat crash" would be much different.
As for the water, you could model it as a semi-rigid barrier, or series of semi-rigid barriers, on springs, so that when the boat hits them, the springs dampen the impact. Model these barriers with a relatively small width so that the boat keel would impact the middle barrier which would begin to deflect before the boat impacts the two adjacent barriers and so on...