Hi Shaibayan Chakrabarti,
Definitely it is not a good idea to retrieve a huge messages and it is worse in synchronous call. Why not to set out a different scenario?:
1. You want to fetch data, this seems a good example for sender JDBC and to use async communication with better performance with huge messages. Can you not to set an extra field, a status field?
2. Following with timeout problem, can't you reduce you huge select in several select with few weight?, can you talk with the DB and to establish a table index to reduce you select time?
You should think the timeout can be raised in the sender proxy, abap engine in PI (ICM parameter rdisp/max/runtime), in the adapter engine or endpoint application, what is the exact exception and where is it localized?
Hope this helps.
Regards.