In theory, they could, but it would be a terrible business decision. Their whole business is software. Even if they didn't have their own mobile OS and had no plans to ever create one, creating an Android phone would make them into a hardware company, competing in hardware with a bunch of other hardware companies that have much more experience in being hardware companies than they do. Since they do have a mobile OS, I can't think of a better way to destroy any possibility of that OS ever succeeding than for the company making it to market a phone running their competitiors' OS. If even Microsoft doesn't believe in their own OS enough to make only devices using it, then why should anybody else?
Suppose that rather than making an Android phone, Microsoft were to release a Windows phone with an Android compatibility layer.
The idea would be to lower the barrier for current Android users to trying a Windows phone for their next phone, because they could keep their Android apps.
That only works when you have a monopoly on a particular platform and everyone uses your 'extended' version of a standard by default. Microsoft isn't in this position in mobile, so any attempts to extend the android standard would just render their extended-android an incompatible oddity.
The problem is then nobody would ever write a Windows Phone app as they could just keep users happy with (and monetise) a Android app running on Windows Phone.
A Java VM for .net already exists[1] (Scala for .net leverages it). Obviously the presentation layer would need rewritten for the platform and also for XAML, but an Android app and Windows Phone 8 app can share much of their base code if done correctly. Storage mechanisms like SQLite can also run on either device.
Yup, I actually have a license for it and currently using it with MonoGame. It's also quite nice for native development as well with how they tweak the APIs to be more C# like instead of Java (plus async/await).
I didn't recommend it since it isn't free, but it's well worth the money if doing cross-platform apps (they also give students a reasonable discount). If initial cost is a concern, Scala would be my alternative choice.
I wasn't referencing Mono for Android, although that is a neat product.
About a year ago, Xamarin did a direct port of the entire Android operating system to C# as a research project to improve their automated tooling. It's called [XobotOS](https://github.com/xamarin/XobotOS). It's open source, unmaintained, and entirely unsupported.
I remember XobotOS. I was kind of excited about it, but then nothing happened with it after they made a press announcement. I had some questions about it when they still had comments posted on their blog. They decided to remove the comments shortly after without answering any of them, not sure why. Can't remember what my questions were now, but I think something related to building it.
I was hoping to mess around with it and make some sort of compatibility layer for dalvik based apps to run on it and everything else to use C# that I or anyone else might do (I mod AOSP and such in my spare time).
Too bad it Xamarin has not done anything with it since the announcement, as dalvik is the bane of performance on Android.
There's a vast difference between being able to share much of your code base between platforms, and simply having your existing binaries run as-is with no changes. For a lot of developers, the gulf between "do nothing to support Windows Phone" and "do anything at all, even very little, to support Windows Phone" is enough to make them not do it.