<p>Let's say I want to run a .NET application on a machine where the .NET framework is not available; Is there any way to compile the application to native code?</p>

Yes, using
Ngen
, the Native Image Generator. There are, however, a number of things you need to be aware of:
You still need the CLR to run your executable.
The CLR will not dynamically optimize your assemblies based on the environment it's run in (e.g. 486 vs. 586 vs. 686, etc.)
All in all, it's only worth using Ngen if you need to reduce the startup time of your application.