How about using the following function,
Microsoft.SharePoint.Utilities.SPUtility.ResolveWindowsPrincipal()?
It has the following parameters:-
webAppType: Microsoft.SharePoint.Administration.SPWebApplication
inputType: System.String
scopesType: Microsoft.SharePoint.Utilities.SPPrincipalType
inputIsEmailOnlyType: System.Boolean
There are two overloads, suggest you use the SPWebApplication one.
More information at http://msdn.microsoft.com/en-us/library/ee705754.aspx
You can then use the information returned as part of the SPPrincipalInfo object to get the login name to call Ensure User.