1) You can use dynamic sql for that statement and add "inputparameter" like a string '54,55,56'
DECLARE
TYPE input_cursor IS REF CURSOR;
l_cursor input_cursor;
l_input_parameter VARCHAR2(4000) := '52,53,43';
BEGIN
open l_cursor for 'SELECT * FROM emp WHERE deptid in (' || l_input_parameter || ')';
END;
2) You can create new type for scheme like
CREATE OR REPLACE TYPE "TNUMBERLIST_TABLE" AS TABLE OF NUMBER
and use it in your procedure like input parameter, for example:
DECLARE
PROCEDURE output_list(p_table TNUMBERLIST_TABLE) IS
BEGIN
FOR cur IN (SELECT * FROM TABLE(p_table)) LOOP
dbms_output.put_line(cur.column_value);
END LOOP;
END;
BEGIN
output_list(p_table => TNUMBERLIST_TABLE(1,2,3,4,5,6));
END;
for your task it would be:
Select * from emp where deptid in (SELECT * FROM TABLE(p_table));