2 of 5 functions renamed with WPSE naming 'convention'

I would solve this using custom fields in the user profile (only visible to administrators) and then making a custom dashboard widget (only visible if certain criteria is met), and displaying the custom user field message.

Adding fields to the user profile page can be done:
1) manually
Adding and using custom user profile fields
and using this answer to hide the fields for non-admin users

2) by a plugin
I just discovered and tested Cimy User Extra Fields, which is very complete and can add many types of fields to the user profile page. For instance, text area with TinyMCE controls, that can be very handy.
And it has the capability of showing fields according to user roles.

Cimy configuration screen Cimy screenshot

Administrator editing user with "Editor" role Cimy screenshot 2

. . .
After that, the custom dashboard widget is easily done following this tutorial.
"Editor" dashboard Cimy screenshot 3

The following code is an adaptation of the tutorial to work with Cimy plugin.
If you choose the manual method, it's just a matter of using the WordPress function get_the_author_meta instead of the plugin's.

/**
 * Content of Dashboard-Widget
 * Modification: will show the content of the textarea field 'DASH_MSG'
 */
function wpse_51591_wp_dashboard_per_user() {
    global $current_user;
    $the_msg = get_cimyFieldValue( $current_user->ID, 'DASH_MSG');
    echo $the_msg;
}
/**
 * add Dashboard Widget via function wp_add_dashboard_widget()
 * Modification: will only show if the checkbox "SHOW_MSG" is checked
 */
function wpse_51591_wp_dashboard_setup() {
    global $current_user;
    $show_msg = get_cimyFieldValue( $current_user->ID, 'SHOW_MSG');
    if('YES' == $show_msg)
        wp_add_dashboard_widget( 'wpse_51591_wp_dashboard_per_user', __( 'Test My Dashboard' ), 'my_wp_dashboard_test' );
}
/**
 * use hook, to integrate new widget
 */
add_action('wp_dashboard_setup', 'wpse_51591_wp_dashboard_setup');