If you are referring to something like 802.11 wireless, your example actually makes use of two separate mechanisms: CSMA/CA (MACA based) and 802.11 RTS/CTS (MACAW based).
I am also inferring from the context of the question that all devices are operating on the same channel/frequency.
So if B wants to send data to A and C wants to send data to D, can both of these happen simultaneously? As far as I know, MACA works on RTS-CTS-DATA sequence, and there is no ACK.
B and C will be utilizing CSMA/CA. If one starts transmitting first, the other will back off. If both do happen to transmit at the same time, there should still be no problem in this case.
A cannot see the transmission from C (the signal is so weak as to be background noise), and as such should only see the RTS from B. The same is true for D.
If A could see C as well, then a collision would likely occur (the interference from C would likely cause the SNR of the signal from B to drop below a usable level). Since CSMA/CA doesn't use ACKs for management traffic such as a RTS, B would send a new RTS to A when it receives no CTS from A.
Suppose, at first, B sends a RTS to A. C hears this and remains silent until B receives CTS from A. After the CTS comes from A, C immediately sends RTS to D. B hears this and remains silent until C receives CTS from D. Eventually C receives CTS from D. Now can both B and C transmit data simultaneously?
Small problem in your question and two possible scenarios since you didn't provide enough details. The problem with your question is that as you laid out what can see what, C will never see a CTS from A nor will B see a CTS from D.
This is the core of the exposed node problem as C will not be able to immediately send an RTS immediately after A sends it's CTS. Instead, C should wait the period of time requested in the RTS plus some before it sends its own RTS. This is the operation of some older 802.11 implementations of RTS/CTS.
Newer 802.11 RTS/CTS implementations will allow C to transmit simultaneous to B if it doesn't hear A (or the CTS from A) as long as B and C are using the same timing and data rates. This helps to alleviate the exposed node problem.
And what will happen if both B and C send RTS simultaneously to A and D respectively? I think receiving CTS won't be a problem, but can both B and C transmit data simultaneously then?
These questions are already answered if you read my answers above.