>Una variabile Object impostata a Null, quanta memoria occupa?
In teoria, un object è un reference type, quindi dovrebbe occupare la dimensione di un puntatore, IntPtr.Size, che sarà 32 o 64 bit (4 o 8 byte) a seconda dell'architettura.
>Considerando che una parte delle dimensioni dell'array non verranno
>valorizzate, o verranno valorizzate successivamente, nel tempo,
>(importazioni dopo importazioni) pensavo fosse possibile fin
>da subito risparmiare spazio in fase di creazione di un'array
>multidimensionale, in quanto molte coordinate della matrice stessa
>avranno riferimento nullo.
Considerato ciò, una soluzione potrebbe essere di simulare l'array multidimensionale con un Dictionary, in modo da poter istanziare solo i valori che ti interessano.
L'idea di fondo è questa, volendo puoi costruirci attorno una classe per gestire il tutto:
// Simula un array n-dimensionale
int n = 5;
int sizes[n] = { 10, 20, 30, 40, 50 };
Dictionary<long, int> array = new Dictionary<long, int>();
int indexes[n] = { 6, 16, 3, 27, 43 };
long mapped_index = indexes[0];
for(int i = 1; i < n; ++i) {
mapped_index = mapped_index * sizes[i] + indexes[i];
}
array[mapped_index] = 1;
L'ho scritto al volo in C# (è possibile che non compili), se ti serve in VB o ci sono altri problemi facci sapere 
Luca