I agree with the Devise recommendation, although I feel like Authlogic gives you more control. I get really frustrated with the inability to customize Devise as much as I would like (though not frustrated enough to go back to Authlogic).
I've considered Devise as well, but I've been using Authlogic for a while. I'm of the "if it ain't broke don't fix it" mentality, but I may eventually try Devise as an experiment. Thanks for the recommendation.
For your issues:
1) Try using Authlogic (https://github.com/binarylogic/authlogic) to handle users/passwords... It's a great solution and is super easy to implement. Once you have Authlogic, use this (http://www.binarylogic.com/2008/11/16/tutorial-reset-passwor...) to figure out password resets.
2) Dunno about this... Twilio + some logic?
3) Here is a fix for the jQuery UI + IE9 problems -- http://forum.jquery.com/topic/jquery-ui-does-not-work-on-ie9