Trouble reading LSM303DLM compass/accelerometer data - SOLVED

Wire.requestFrom(acc_address, (byte)6);

	while (Wire.available() < 6);  // ***** fails here *****

You don't need the Wire.available() line at all. Wire.requestFrom blocks until it returns the requested number of bytes, or fails to do so. So a better approach would be:

if (Wire.requestFrom(acc_address, 6) != 6)
  {
  // handle error here
  return;
  }

// if we got here, we have data

The error could be the device isn't there, isn't on, has another address, and so on.

You can check the address of the device (and whether it is on, etc.) by running the I2C Scanner sketch on this page: