Directly reading analogRead PIN?

To increase the speed for setting a digital PIN high and low for my Arduino UNO I'm using:

PORTB |= _BV(PB4);
PORTB &= ~_BV(PB4);

Is there a faster way to directly read A0 in the same way? Right now I'm doing the usual:

iValue = analogRead(A0);

analogRead() sets the ADC unit going and waits for the result. You can use the
analog hardware in a non-blocking fashion by setting a conversion going explicitly
and checking in loop() for when it completes, which allows other stuff to progress
during that 110us period, but analog conversion takes 13.5 analog clocks and that
defaults to 125kHz... It is possible to run the analog clock faster if the source impedance
is low.

If you want to read the analog pins as digital, then you can use PINC for A0..A5
on the Uno.

There are ways to speed up ADC conversions but at the expense of giving up resolution, from 10 bits to 8 bits or lower.

Member fat16lb has done some amazing things with fast data logging.
He posts a lot of stuff here

and in the forum - try searching for "fast data logger" and see what you can find.

You can run the ADC a fair bit faster without losing much resolution, but you must
have a low impedance source to get away with it. At the default settings the ADC
does a lot better than 1 LSB error under battery power (no supply noise), you can
see from the absence of jitter except close to each step. Under USB supply the
supply noise will swamp the true resolution of the ADC.

MarkT:
If you want to read the analog pins as digital, then you can use PINC for A0..A5
on the Uno.

I see its A0 is PC0. So would I just do a PORTC = _BV(PC0);? How would that work to get the read value? Wether digital or not?

To read a digital port, one uses PINC, for writing its PORTC.
I usually do something like this:

if ((PINC & 0b00000001) == 0){  test A0/D14
// pin is low
}
else {
// pin is high
}

can expand to
PINC & 0b00000010 A1
PINC & 0b00000100 A2
PINC & 0b00001000 A3
PINC & 0b00010000 A4
PINC & 0b00100000 A5

Analog readings:
The '328P datasheet says:
• 13 - 260μs Conversion Time
• Up to 76.9kSPS (Up to 15kSPS at Maximum Resolution)

By default, the successive approximation circuitry requires an input clock frequency between 50kHz and 200kHz to get maximum resolution. If a lower resolution than 10 bits is needed, the input clock frequency to the ADC can be higher than 200kHz to get a higher sample rate.

24.9.2 ADCSRA – ADC Control and Status Register A
• Bits 2:0 – ADPS[2:0]: ADC Prescaler Select Bits
These bits determine the division factor between the system clock frequency and the input clock to the ADC.
choices are 2,2,4,8,16,32,64,128.

So best that can be done would seem to be 8 MHz x 13.5 clock cycles = 1.7uS = which is way faster than 15 KSPS, so there's other stuff that is taking time, as 15KPS would imply 66.7uS for samples/conversion.

See Section 24 of the datasheet.