A change currently in review,
IMPALA-5498, adds a new exec node PartialSortNode. Initially, it will just allocate memory up to the query memory limit, but once the new buffer management work in IMPALA-3200 goes in, it should be modified to operate within a memory constraint.
PartialSortNode can operate with essentially any amount of memory, with the tradeoff that a smaller limit leads to a "lower quality", more random sort. We should investigate the performance implications of different limits, and consider making the limit configurable.