So you want one report for almost every query possible? No, that is not possible.
You can use lexical parameters up to a certain point. Even then, the number of columns need to be fixed at design time.
I don't know what you mean by "Dynamic repeating Frames" exactly, but you cannot have a flexible number of frames either. Frames are created at design time, not run time.
I do not yet work on 11g Reports.
Basically you can reach your goal... simply do not run the report if no data is fetched from table.........
But for 10g....
say example you have query--
select col as a, col1 as b, col2 as c from MyTable
So, now create a report trigger - After Parameter Form
function AfterPForm return boolean is
Cts NUMBER :=0;
SELECT COUNT(*) INTO Cts FROM MyTable;
IF Cts =0 THEN
srw.message(003,'No Records available from table -- Please Try latter');