Define a wordpress constant through plugin functions?

I don’t think you should define constants in your plugin. It will be very hard to debug later on.

IMHO using wp_revisions_to_keep filter will be much nicer solution.

So your code could look like this:

add_filter( 'wp_revisions_to_keep', 'my_revisions_to_keep_based_on_settings', 10, 2 );

function my_revisions_to_keep_based_on_settings( $num, $post ) {
    // change that according to your needs
    return intval( get_option('disable-revisions') );
}