Как вернуть ответ от $.ajax() как результат выполнения внешней функции-обёртки?
Используйте promis-ы. Ваша outerFunction вернет обещание, извне вы подпишитесь на done.
Запрос асинхронный, как результат внешней функции вернуть не получится. Можно аяксу опцию async:false передать, тогда запрос будет синхронным, но это не всегда хорошее решение.
В случае асинхронного вызова вы можете параметром во внешнюю функции передать функцию каллбэк и вызывать ее, когда выполнится аякс запрос, передав в нее нужный вам результат.