I need to shiftout a nibble

The chip has data shifted in MSB first, starting with the data byte.

No. Look at Fig 5, the time goes from left to right - so D0 is the last thing out.

The MSB goes out first, so with 2 bytes you will have:
0 0 0 0 0 0 A1 A0 D7 6 5 4 3 2 1 0
^ ^
| this is the first bit out | and this last

Chip supports 10 MHz speed, so you can use SPI transfer - default speed is 4 MHz:

digitalWrite (ldPin, LOW);
SPI.transfer (highByte (dataArray[0]);
SPI.transfer (lowByte (dataArray[0]);
digitalWrite (ldPin, HIGH);

digitalWrite (ldPin, LOW);
SPI.transfer (highByte (dataArray[1]);
SPI.transfer (lowByte (dataArray[1]);
digitalWrite (ldPin, HIGH);

digitalWrite (ldPin, LOW);
SPI.transfer (highByte (dataArray[2]);
SPI.transfer (lowByte (dataArray[2]);
digitalWrite (ldPin, HIGH);

with
int dataArray[3]; // holds the 3 output values