You can change the landing page at the moment you execute the SetExpressCheckout API method.
If you look at the API reference for the LANDINGPAGE
field :
Type of PayPal page to display. It is one of the following values:
Billing – Non-PayPal account
Login – PayPal account login
Source: https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/
So you have to create 2 options in you checkout, the first option (Pay with paypal) executes SetExpressCheckout with LANDINGPAGE=Login
and the second option has to call the same method but with LANDINGPAGE=Billing