analogRead for built-in reference and temperature?

Here I am suggesting this addition to the analogRead function: reading the internal voltage reference and temperature sensor, using:

uint16_t vref = analogRead(VREF);
uint16_t temp = analogRead(TEMP);

The latter may seem less useful for now, but the first can be useful for both extended accuracy analog reading, or measuring VCC.

VCC measurement have two major uses: 1) when the PWM output is used as a boost converter to supply 5V to the MCU itself, or 2) having a more accurate ADC measurement without being limited by the internal reference's low voltage

Since analogRead is referenced to vref the first one would always return 1023. Not very useful.

Read the datasheet.
Have a look on all analog mux input ( more than 8 ).
Atmel has added to 8 ADC inputs, 3 special entries: temp, gnd, bandgap.
If Atmel does, it is because it is useful.

Delta_G:
None of those are vref. In order to read vref and get a voltage from it you'd need some other reference voltage to compare it to.

analogRead(VREF) reads the internal bandgap reference.

Delta_G:
What reference does it give you a value against. It doesn't give you a voltage. It gives you 0 to 1023. What voltage does 1023 represent?

It gives you the ratio between the internal reference and whatever current reference you are using. So when used with VCC as reference this reading is a monotonic function of VCC just the mathematical representation is a bit of homework.