Need to access registers in microcontroller

I am having issues with the ADCs.

To verify whether this is a hardware issue or a software issue I need to
be able to write to:

ADSCRA, ADSCRB, ADMUX registers, Set flag etc.

There are ways of doing this for other micros, how does Arduino do it?

This forum is probably not the best place to ask that question, Arduino is primarily about hiding all that stuff and exposing the functionality through high level abstractions.

You can see how the arduino implements those abstractions by looking at the source code – the Arduino ADCc code is in the core file called wiring_analog.c

But if you want to details on register level functionality then the AVRFreaks board may have more relevant information.

Where can I find the wiring_analog.c code?
Are there other code sections there?

Is AVRfreaks part of this website or another site?

wiring_analog.c is going to be in your Arduino/hardware/cores/arduino
And yes, all of the Core files for the Arduino IDE should be in this file, including the digital, WProgram, etc.

And as for AVRFreaks, it's a whole-nother website!

http://www.avrfreaks.net/