I am not aware of a command that exclusively return report windows.
The script below gives the number of non-data-table windows. The -1 acounts for the current script window. However, it gives only a rough (maximum) estimate of the number of reports, as the log, JMP starter, dialogs, journals or other scripts that are opened will also be included in the count.
It may be possible to identify and count any non-report windows by looping through all open windows with some smart syntax (that so far has escaped me).