How to create a theme specific translation of buddypress? [closed]

First, actions added to plugins_loaded hook will not work from theme functions.php or any theme file because at that point it will be already fired (too late from theme files).

What you can do is to hook your action into after_setup_theme and unload buddypress text domain first and then add your custom buddypress text domain file. The reason is that WordPress will not load any translation files for text domains that has already been added:

add_action('after_setup_theme', 'replace_bp_mofile');

function replace_bp_mofile() {
    $mo_file = get_stylesheet_directory() . '/languages/' . sprintf( 'buddypress-%s.mo', get_locale() );
    if (file_exists( $mo_file )) {
        unload_textdomain('buddypress');
        load_textdomain('buddypress', $mo_file);
    }   
}