Here's a sample of the basic macro program. Playing with PROCLABEL and/or CONTENTS= you can sort of control or eliminate items in the TOC, but as somebody said, it is a kind of hit and miss affair (eliminating ODS PROCLABEL gives you an index number, with a line feed and the region on the next line; while eliminating the CONTENTS= will give you the PROCLABEL line, but no hyperlink to the section of the report associated with the region.)
In most instances, I would recommend PROC DOCUMENT/ODS DOCUMENT for rearranging your output objects and your TOC on replay, but PROC REPORT does not play nice with ODS DOCUMENT (or vice versa).
There are some style template things you can also do to streamline the TOC (playing with IndexItem, etc).
Another alternative is to replace the SAS-generated TOC file with your own TOC/Frame file if you're doing HTML. If you're doing RTF, I think some folks use RTF control strings to insert TOC info into the RTF file for TOC generation.
cynthia
[pre]
*** code;
%macro doreg(sreg=);
ods proclabel "PROCLABEL: &sreg";
proc report data=sashelp.shoes nowd
contents="Contents= &sreg";
where region = "&sreg";
title "Report for &sreg";
column subsidiary product sales;r
define subsidiary /group;
define product /group;
define sales /sum;
rbreak after /summarize;
run;
%mend doreg;
ods listing close;
ods html path='c:\temp' (url=none)
file='k_bod.html'
frame='k_frm.html'
contents='k_toc.html'
style=sasweb;
%doreg(sreg=Africa);
%doreg(sreg=Canada);
%doreg(sreg=Pacific);
ods html close;
[/pre]