SPI max size....

If I wanted to transfer 12 bit data on the arduino, would I have to separate the string into two strings or can I simply do SPI.transfer(4095)? I am working with a dual DAC that takes a 24 bit read (the first 12 is the first DAC, the second is the 2nd DAC). I am kind of confused and hoping that i do not have to separate it into three strings for the full 24 bit write.

Just do 3 x SPI.transfer. That will be 24 bits. You will of course have to split up the 24-bit field.

Something along these lines:

void send24bits (const unsigned long value)
  {
  SPI.transfer ((value >> 16) & 0xFF);  
  SPI.transfer  ((value >> 8) & 0xFF);  
  SPI.transfer  (value & 0xFF);  
  }  // end of send24bits