Inside a process you can simply use if statements, checking whether a constant boolean is true or similar;
Code:
if ( DO_MANUAL_CHECK ) then
-- any valid code inside a process
else
-- alternative code inside the process
end if;
The else case is optional obviously;
Outside of a process, you can do something similar, using the if generate construct:
Code:
checked: if ( DO_MANUAL_CHECK ) generate
-- any valid code inside the body of an architecture
end generate checked;
alt_checked: if ( not DO_MANUAL_CHECK ) generate
-- alternative code inside the body of the architecture
end generate alt_checked;
An if-generate is required to have a label ("checked" in this case)
There is not "else" part for the if-generate construct, so you have to add another if-generate, testing
for the not case.
Any synthesizer will pick up that the check is always true (or always false), so it will do what you expect.