First, why do we need the ACF and PACF of the raw data? What are we looking for?
ACF and PACF may give you an idea about the lag structure of ARMA process. There are certain patterns for AR, MA and ARMA processes. For instance, a quick decay in ACF with cut-off in PACF would indicate AR(P) process, where cut off lag is your P etc.
Note, that for ARIMAX, i.e. when exogenous predictors are present, ACF/PACF is less useful, because predictor's correlations will show up.
So how do we determine the best ARIMA model to use? What criteria are used in this determination?
One of the criteria is AIC: lower is better. You can run combinations of ARIMA(P,D,Q) and find P,D,Q with the lowest AIC.
I personally don't use auto.arima, because my data sets are often small, and any reliance on automatic selection software is questionable. You have a lot of data, so going for auto.arima is less of an issue.
However, note, that there are many model selection criteria out there, including parsimony, for instance. Some of them are qualitative.
Third, I'm trying to model daily adjusted close prices. How can I take into account days with no values such as weekends and holidays?
The simplest and most popular way is to skip them as if they never existed. Simply work with business days. I'm not sure what's R's packages for financial time series. In MATLAB fints would handle business days. For instance, you usually would work with returns not prices, and in this case the return on Monday is over the price on last Friday (given that it was a business day) not Sunday, because exchanges are usually closed on Sundays so the price is not discoverable.