By default there is no function to generate a coupon. However we have a point system which you may be able to manipulate.
In regards to shipping, it all depends when and where you want to change the shipping variable. If you peform a var_dump of $this->arrForm on the LC_Page_Shopping_Confirm, you should see the shipping variable. You should be able to set shipping to 0 here.
I hope that helps!