The simple answer is "MS hasn't released a port" (though Windows 8 is supposed to be ported to ARM), simply cause it made no business sense at the time. If you want to go into, if MS could...
Well, historically, the NT family has run on a range of processors - NT ran on Alpha, PPC and MIPS , and there were planned ports for the Clipper and SPARC architectures. This is possible because Windows NT abstracted the hardware dependant parts of the code (the HAL) and rewriting just that section and recompiling everything else should do the trick (though in theory .NET based software is supposedly hardware independent).
Unlike Linux, which, if i recall correctly has seperate kernel branches for each architecture, supposedly ONLY the HAL is hardware specific, and the rest is common – I believe that once a HAL for the ARM platform in question was created, it should be relatively trivial, and no different from coding for various bits of hardware, especially if the system was otherwise conventional, say, using PCI-E and other industry-standard interfaces.
Assuming Microsoft released a ARM port of Windows 7, any software that isn't interpreted, or running on a VM of sorts like JVM, LLVM or CLR would need to be recompiled or run on a translation layer, like Rosetta or the old 68K compatability layer on older macs, that's aware of x86 specific code (and runs that in emulation transparently), and there's sufficient processor power for translation.