Custom settings are available from both Workflows and Triggers. If you create a "Hierarchy" custom setting object with a checkbox you can reference that checkbox to enable/disable the validation or code. The hierarchy design would allow you to set system wide defaults and then override individual users as needed. Its been pretty effective in a number of occasions.
You may have to do this for WorkflowTask's as well.
Follow up question via comment below...
The WorkflowRule and WorkflowTask appear in the package folder structure as follows. They basically use the /workflows folder and the .workflow file extension. You can read more about them in the Metadata API developers guide here.
P.S. If your interested in the above code it is here.
Best Answer
I haven't done it myself, but I think you could call the metadata api from apex and than process the output.
http://www.salesforce.com/us/developer/docs/api_meta/Content/meta_workflow.htm