Hello,
For b), there is a setting for exactly that: in the menu System > Configuration, on the Main tab, in the "Cart" section, you have the option "URL where you will be redirected when the cart is empty". Enter the URL of the menu item you want, for example index.php?Itemid=101, and that page will be used instead of the product listing. It covers all the cases where the shop finds an empty cart: the cart page, the checkout, and the button which empties the cart.
For a), going back to the page the customer was on before, there is no setting. What you see is not really a redirection of the cancel button, it is the shop noticing that the cart is now empty and sending the customer to the default page, so the page they came from is not known anymore at that point.