Te entiendo. Podés utilizar la propiedad Tag para ese efecto, pero tendrías que pasar como parámetros el componente y el campo.
Por ejemplo, si queres que no se valide el primer componente harías: Edit1.Tag=0, CheckBox1.Tag=1 y Edit2.Tag=1
Código Delphi
[-]
function TForm1.ValidarCampo(AComponent: TComponent; Campo: Variant): Boolean;
begin
Result:= True;
if AComponent.Tag = 1 then Result:= VarIsEmpty(Campo);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not ValidarCampo(Edit1, Edit1.Text) then
ShowMessage('campo vacío');
if not ValidarCampo(CheckBox1,CheckBox1.Checked) then
ShowMessage('no chequeado');
if not ValidarCampo(Edit2, Edit1.Text) then
ShowMessage('campo vacío');
end;
Saludos.