Как читабильнее или правильнее писать тернарную операцию в return, если в двух случаях будут возвращены массивы?
IMHO тернарный оператор полезен тогда, когда он пишется в одну строку.
В противном случае проще, полезнее и нагляднее использовать обычный if.
Вариантов много разных можно написать, но оба исходных как-то не очень читабельны. 27cm написал хорошие. Можно еще так сделать:$response = [
  'data'    =>  $data,
  'status'  => 'success',
  'message' => 'Done'
];

if (!empty($error)) {
    // можно через array_merge еще написать
    $response = [
      'data'    =>  $errors,
      'status'  =>  'error',
      'message' => $message,
    ];
}
return $response;