Possible to add a language file to a plugin without adding .po/.mo files to plugin directory?

Best way to do this is probably by using a second, custom-made, plugin.

Make a new plugin directory. Call it something like “example-com-custom-langs” or something unique to your site. In there, make a php file with a plugin header describing what the plugin does (for your own sanity), and do something like this:

add_action('plugins_loaded','example_com_custom_langs_plugins_loaded');

function example_com_custom_langs_plugins_loaded() {
  remove_action('init', 'activitysub_textdomain'); // disable the old lang files
  add_action('init','example_com_custom_langs_init'); // load our new lang files
}

function example_com_custom_langs_init() {
  load_plugin_textdomain( 'bp-ass', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}

Now, you can put your language files into the /languages directory of this new plugin, and they will be loaded instead of the originals in the other plugin. And this plugin won’t get updated when the other plugin updates. So as long as they don’t change from “bp-ass” as the textdomain, yours get used instead.