Disable dashboard drag&drop

This will remove the draggable functionality from each widget:

jQuery('.widget.ui-draggable').draggable('destroy')

You have find a good way to inject this into your code, either through wp_enqueue_script() or echo it inline on the Widget page.

To target a specific Widget you would have to do something along these lines:

jQuery('.widget.ui-draggable').each(function() {
    if (jQuery(this).find('h4').text() == 'Archives')
        jQuery(this).draggable('destroy');
}

Or select your way around to find the widget by id:

widget-2_calendar-__i__
widget-3_categories-__i__
...

If you browse around the source you’ll soon find out how these are internally formed by WordPress. The rest is up to jQuery, selectors, maybe regular expressions (though I don’t recommend them in this case).