There is currently not very good way to do this without indexing
a much larger number of assets than you'd like.
One solution would be to create an Index Block that starts at
the Base Folder (or as low as you can get while still including all
teh programs) and renders forward the desired number of levels to
get access to that data. Obviously this is going to bloat the pages
with unneeded data.
Another solution would be to create a separate Index Block for
each Program Folder indexing down just 1 level or so. With this one
though you'd be creating a different, unique Index Block for every
program (in your case it sounds like 50).
You might be interested in
this idea on the Idea Exchange for helping create new types of
Index Block renderings.