Variations in idle are because the ECU auto adjusts to compensate for headlights, A/C, power steerings (which is electric), radio, etc.
Try turning all accessories off, and see if it moves, 50 rpm up or down is ok for me, if not, you can do what Mooly said.
High rpm when starting cold is normal, if you remember older cars and using choke, same thing, just automated.
For the whining sound, try turning the A/C off, could be it. Mine also whines a bit, but could be due to mileage (110k miles).
Considering it's a 10 year old car now, i would not worry that much.