Tu puedes utilice valores booleanos como parámetros para los procedimientos almacenados:
procedure p (p_bool in boolean) is...
Sin embargo, no puede usar valores booleanos en SQL, p. declaraciones selectas:
select my_function(TRUE) from dual; -- NOT allowed
Para un parámetro numérico, no hay forma de agregarle de forma declarativa una "restricción de verificación", tendría que codificar alguna validación, por ejemplo,
procedure p (p_num in number) is
begin
if p_num not in (0,1) then
raise_application_error(-20001,'p_num out of range');
end if;
...