One option is create external data sources, though Oracle recommends that you only use these for data that does not change very much (since it does not go through the ADC, instead must be continually polled). http://docs.oracle.com/cd/E25054_01/dev.1111/e10224/bam_extl_data_sources.htm#CIHJFDAG
Another option is to create a simple BPEL composite that picks up the data from the various systems and sends it to BAM. In general, BAM is more efficient when data is sent to it, not when it has to get the data. (there are also other options including JMS, etc.)
creating report is nothing but retiring data from tables(DataObjects) and showing in UI. its seems to like as SQL.
yes we can create BAM reports from multiple Systems. use the relations b/w data objects( from different systems Data Objects) create reports and dashboards