Você pode use booleanos como parâmetros para procedimentos armazenados:
procedure p (p_bool in boolean) is...
No entanto, você não pode usar booleanos em SQL, por exemplo. selecione as declarações:
select my_function(TRUE) from dual; -- NOT allowed
Para um parâmetro de número, não há como adicionar declarativamente uma "restrição de verificação" a ele, você teria que codificar alguma validação, por exemplo
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;
...