1. You can do this by modifying the cart page (either edit cart.liquid, or using scriptTags). Keep in mind all carts are different and some stores have a cart drawer (i.e. no cart page). So consistently placing the checkbox can be tricky.
3. A webhook can notify you of new orders.