Yes of course our Paypal Payment Gateway supports IPN; it's a requirement and important step when configuring your Payment Gateway. You do not have to manually manage Paypal purchases. Not sure what you mean by approve or deny a user though, Paypal has no power to approve or deny a users registration of the sorts; this needs to be done from CB Workflows module.
Also is it easy to let the user read and agree to a different subscription agreement based upon the pricing plan?
Of course, you can include your agreement within the description of the plan the user is to subscribe to via link to article or typed directly into the description it self.