1) Yes, that is correct, you will just need to update the add to cart buttons.
2) you can create a custom calculation on the eCart Calculations tab to show the discount being appli9ed but it will take custom hand coding to accomplish. the calculation will look similar to:
abs([CATEGORY] == 'tops' && isset($_SESSION['coupon']) && $_SESSION['coupon'] == 'mycode')?[Price] * 0.10:0