Can a Bitcoin response contain multiple Bitcoin messages?
In TCP communications it is common to use a technique known as "piggybacking".
Let's say A and B are communicating over TCP. Normally, after receiving a message from A, B should send an ACK message to let A know he received it correctly. In order to minimize the number of messages, B can "encapsulate" the response message into the ACK, so that A will receive the response along with the ACK.

Since Bitcoin works on TCP, it is reasonable that the same technique is applied.