If merging two sections from different locales how do I then sort them by a shared criteria?
With that last {% set news = craft.entries.id(ids) %} criteria model you're querying in one locale only
and there's no way to change that, Craft doesn't have a feature to set up a criteria model to query in multiple locales.

You'd have to merge the entry models themselves and use something like the Super Sort plugin to bring them in order.

{% set entriesA = craft.entries.section('news' ~ Section).relatedTo(active).ids() %}
{% set entriesB = craft.entries.section('newsAlumni').status(null).locale('prior_alum').search('shareNewsAlumni:1').localeEnabled(false).ids() %}
{% set entries = entriesA|merge(entriesB) %}

{% set entries = entries|supersort('sortAs', '{postDate}')|reverse %}
{% set entries = entries|supersort('sortAs', '{stickyNews}') %}