It could be a good thing to really think about what you want. Probably you want the sending customer/internal system to follow their message in some way, but does the status have to be read by an application or is it some users that needs the status of the message?
One way is, like mentioned above, to give them a correlating interchange id (in a response message), but then what? It is quite difficult to set up a service that an application can query about status which also is easy to maintain (regarding process changes). I've built one and you can get information about all the instances the message passes, but it won't make your customer any "wiser" since they probably cannot translate your orchestration, or pipeline, names into something understandable.
Another approach is to use BAM and make a web site the customer can use to find status of their message, like most delivery company have, DHL for example. It might need some more effort, but I think it's better to tailor made the solution for the needs.
With BAM you can extract data without changing your BizTalk projects at all. "Just" analyze your needs to find out what data to extract, or aggregate, in the BAM-Excel, export it to BizTalk database, activate and connect it with the Tracking Profile Editor.
Then you can show important mile stones to the customer in a web site. I know it's not that easy as I described above, but it will be good :)
Kind Regards
Martin Bring