Erro numérico ou de valor, hein?
Isto é o que pode estar causando o problema:
and equipID = :P3_EquipID;
O que é
equipID
tipo de dados? Se for um NUMBER
, tentar and equipID = to_number(:P3_EquipID);
Como não é o caso (como você comentou), isso ajudaria?
declare
v_equipid number;
begin
SELECT count(*)
into v_equipid
from equipment
WHERE equipstatus = 'available'
and equipID = :P3_EquipID;
return v_equipid = 1;
end;