The "dimensions" of the spectrogram are not chosen based on where will the spectrogram be fed to but rather depend on your application. Therefore, it is key to understand the spectrogram itself first, as a means of generating features for one or more signals and to an extent, understand the Discrete Fourier Transform (DFT) as well, which is the key operation the spectrogram is based on. In fact, the "dimensions" you are referring to stem entirely from the way the DFT works and determine its spectral "resolution".
If you were to run DFT on some discrete time signal ($x[n]$), of maximum length $N$, you would get back a set of coefficients $X[k]$ that decompose the signal to a weighted sum of sinusoids at different frequencies.
The range of physical frequencies in $x[n]$ is $\left[ 0 \ldots \frac{F_s}{2} \right]$. However, the DFT decomposes the signal into $N_{FFT}$ frequency bins (indexed by $k$) with $N_{FFT} \le N $. Therefore, the physical frequency that is associated with the $k^{th}$ frequency bin is $f_k = F_s \cdot \frac{k}{N_{FFT}}$.
So what?! So, if you are creating a classifier that operates on some $x_m[n]$ sample obtained from the $m^{th}$ speaker and is trying to figure out the gender of the speaker via the range of frequencies audible, then you would have to tune your $N_{FFT}$ in such a way as to be able to assign different frequencies between 85Hz to 225Hz to different frequency bins. If you did not do that, then your spectral features (the set of $k$ frequency bins) would be insensitive to your class $C$ (here $C \in \left\{ male,female \right\}$ and the classification would report poor performance.
Alright, so, we keep this consideration of spectral resolution in mind. This actually considers the vertical dimension of the spectrogram. Let's have a look at the spectrogram itself now.
The spectrogram is the repetitive application of Short Time Discrete Fourier Transforms (STFT) to a signal in overlapping sections. Let's denote the overlap here with some factor $q \in \left\{ 0 \ldots 1\right)$. When $q=0$ there is no overlap and the spectrogram is evaluated independently on a set of windows (for example $n_{w1} \in \left\{0 \ldots 10 \right\}, n_{w2} \in \left\{11 \ldots 20 \right\}$ and so on). As $q$ approaches $1$, the STFT starts running on overlapping windows (for example $n_{w1} \in \left\{0 \ldots 10 \right\}, n_{w2} \in \left\{5 \ldots 25 \right\}$ and so on).
This overlap is desired in the STFT for a number of reasons that are related to the maths of the FT but also the signal itself and the desired analysis on it. The bottom line is that now we have to worry about one more parameter, $q$.
So what?!? So, to extend the previous example: Before, we were trying to understand what is the gender of the speaker just by examining a sample of their voice. Let's now assume that we have the recording of a conversation between males and females and we want to produce a list of time instances and their gender classification to examine (for example) if males or females tend to dominate a given discussion. Obviously, we have to tune $N_{FFT}$ from above but now we also have to tune $q$. Too much overlap means a high temporal resolution but also large amount of data (and processing). Too little overlap and we might miss some transition as some speaker was interrupted by some other speaker and then they resumed. If this phenomenon happens within the duration of a window, the STFT cannot resolve different males or females. It's a gray area that contains a mixture of both fundamental frequencies and it will produce some decision that might not be accurate.
As you can see, our discussion so far has not involved the classifier itself. The classifier is indeed some $C = f(x_m,\Theta)$ that takes the $m^{th}$ sample and maps it to one of the elements of the set of classes $C$ based on some parameter set $\Theta$. But the only thing we have been talking about so far is how do you construct this set of features that are derived from $x_m$ so that then the $f$ can do its mapping.
Let's take a look at that now: Remember how playing around with $q$ produced overlapping windows? Let's take this to the extreme. Let's think about what happens when $q=0.95$. Then, two neighbouring windows actually look very much alike. They differ only in 5% of the samples! Consequently, their spectra (adjacent vertical lines of the spectrogram) are very much alike. Therefore, it is as if we are feeding the classifier redundant data. We are showing the classifier lots of similar examples. Therefore, continuing with the above example, the classifier starts forming an opinion that MALE means all of these similar data that we are feeding into it when MALE, in our world, in the physical world, is conceptually all the different MALE voices across all recordings. A large STFT overlap could lead to overfitting!
To brake this similarity of adjacent samples, we introduce whitening. What does whitening do? It shuffles the input matrix, to reduce the covariance between adjacent samples, this is all that the whitening matrix $W$ does (but does it in a mathematical way that takes into account the covariance of the input. It produces an optimal shuffling, so optimal that any covariance between samples has been reduced to zero.)
Of course, when you bring Principal Component Analysis (PCA) into the mix, the game is changing slightly because PCA is still on the feature generation side. Applied to our previous example, PCA would enable us to get an indication of how many distinct speakers there might be in a given conversation and express the rest of the samples as coefficients to these distinct speakers (or waveforms).
So:
As a multi-dimensional array what dimensions should an audio sample's spectrogram have before PCA whitening;
It depends on your application and specifically the spectral ($N_{FFT}$) and temporal ($q$) resolutions necessary to resolve unique examples for the classifier.
What dimensions should the pre-preocessed object have so that it may be fed into a DBN?
It doesn't matter. You can choose to feed the whole thing and let the network "choose" the best input vectors by adjusting its weights OR you could run feature selection and reduce the dimensionality of your input (and the effort to train the network and the time it takes to train it, etc).
Hope this helps.