Get cat parameter from admin-ajax

For excluding terms of a taxonomy the better way to do that would be to use the hook that was created for doing term exclusions.. list_terms_exclusions

Get the available categories using get_terms (get_categories calls get_terms anyway IIRC), and do your exclusions using a hook on list_terms_exclusions and your code should work as expected..

You can see the hook i’m referring to on line 1040.
http://core.trac.wordpress.org/browser/trunk/wp-includes/taxonomy.php

NOTE: Your plugin does not have a sanitization callback function when it calls register_setting, your options won’t get sanitized properly without one, i’d strongly advise you declare a callback function and sanitize the data as appropriate (especially if you’re passing that saved data into queries).