If you want to handle several indexes in the same job, then use a loop in your PL/SQL block to call your proc several times.
Another option is to create your program as a stored_procedure with 1 argument. This argument would be a collection of index names. Before running the job pass the collection as the argument value.
Or simply create a table where you store index names. Then you job is simple PL/SQL block that read data from table and for each row run a procedure and put read row data as argument to procedure.
create table index_to _process(index_name varchar2(30 char) not null); begin for r in (select * from index_to_process) loop my_super_procedure(r.index_name); end loop; end; /