Maybe yes, you can use STREAMS technology in a bi-directional configuration but probably will not solve the problem. STREAMS capture all DDL/DML and replicate them on another DB. This means that in case of heavy load both DB might experience the same load.
Another approach is to consider RAC solutions but you should tackle another ton of questions from cost of licenses to application optimization for RAC. Furthermore, oracle 9i RAC is really far from actual RAC solutions.
You may consider the standby database solution to offload all enquiry on the standby database but again some consideration between performance and costs should be done. If you upgrade to Oracle 11g you can use stanby database realtime query that is much faster than a logical standby solution available in the 9i.
The first solution in any case is to try to optimize the actual batch chain.