I would recommend you to consider testing http://visualwebsiteoptimizer.com/ for your use case. There is also a module http://drupal.org/project/visual_website_optimizer which makes the integration easier for you.
From the FAQ page of VWO you can see that
- Visitors see same variation even on repeat visits
So that should solve your problem. To make the decision of which variate should be visible to which users, there is sleek UI for selecting those conditions.
However if you want to do the things, the Drupal way then you can use http://drupal.org/project/multivariate which gives you more control. Multivariate is more like Rules or Context module. You have a set of conditions(is the user using X browser, is his IP originating from Y country and so on) and when those conditions are met a set of actions can be performed(serve his multivariate A instead of B).
An important thing is that a user (based on IP or login) should see the template he saw for the first time forever not only for his session.
For making sure that above condition is met you can increase the life of the cookies set. If you want to track the users before loggin in(anonymous users) and after they have authenticated, then you might need to do some custom coding.