Yes. Your login will set a session variable.
If you have SecurityAssist you can use the conditional region to show one price if they are logged in as members and another if they are not.
You would have to probably add a column to the cart and store both prices... that way you could change prices after they add to cart if they log in later. Then you could add a calculation or rule depending on how you want to display the discount to the user.