How to trigger email, account/user and order creation actions when payment is made in paypal, not when user is redirected back
Q1

To test Paypal unfortunattely you need to test on a website which Paypal also can connect to. This is not necessaraly your live site. Maybe you should setup a test/demo environment somewhere else. If you don't want people to access that site you can setup an extra login with htpasswd, but it needs to be disabled during testing of the IPN.
An easy way to do this is using the shield module.

Q2

You can always test using another payment method. For other tests I always use the Payment Example module which is provided with the Payment module in Drupal Commerce.
This way you can test payments without having to deal with receiving IPNs.