You could use a high frequency "motor". My lathe has a variable speed drive. This is simply a 3 phase motor running with a variable frequency inverter drive. The electronics take a 220 volt single phase input and output 220 volt 3 phase at variable frequency. The frequency control gives you variable speed within a range. You can buy a drive and a motor in 2 HP range for about $500. This is a motor designed stationary installation and it wieghs about 45 pounds. You could use belt drive to run a spindle. If you have a moving gantry style machine it would need to be pretty beefy to hold the motor, and need some stout motors to move all the wieght. You might want to consider a moving table design. This type of motor runs at 1750 rpm in normal operation (connected directly to AC). With the variable frequency drive the drive would output 0.5 to 360 hertz. You would have a speed range of 200 or so to 3000+ rpm. If you used a router as a spindle the variable speed routers run a low speed of 8-10000 rpm up to 22-24000 rpm. This will be the big difference. Most mills designed for metal run spindles at the lower speeds of the motor example above. The biggest challenge of the spindle design is the side loads imposed by cutting and the accuracy needed for some cutting jobs. Here is drive designed for the motor example above and at the bottom of the page is a suitable motor.
http://www.driveswarehouse.com/Drive...0-015NFU2.html
A similar motor runs my lathe. It has a 2 step pulley system for the belt drive to the spindle. Changing the belt step gives you a choice of higher torque and lower speed limits, or higher speeds and less torque. This is a wood lathe, but I have cut aluminum on it with wood cutting gouges. I can't do high precision work, but I can cut aluminum with some care.