Altering multiple parameters can sometimes be a chore. If there is no tool available, that is where code comes in. Here is a simple code solution. Paste this code in to an new text window and run the code.
import bpy
for ob in bpy.data.objects:
if ob.type == 'MESH' or ob.type == 'CURVE' or ob.type == 'FONT':
ob.pass_index = 1
Any object that is in your scene and is a mesh, curve or font will be set to index #1.
Code variations could be like this as well…
import bpy
for ob in bpy.data.objects:
if ob.type == 'MESH':
ob.pass_index = 1
if ob.type == 'CURVE':
ob.pass_index = 2
if ob.type == 'FONT':
ob.pass_index = 3
if ob.name == 'Cube':
ob.pass_index = 8
So decide how you want to detect your large group of objects and write an IF statement to cover that case.
Here is another variation that will change the pass_index of any object that has the Array modifer first in the stack to #1.
import bpy
for ob in bpy.data.objects:
l = len(ob.modifers)
if l > 1:
mod = ob.modifiers[0]
if mod.type == 'ARRAY':
ob.pass_index = 1