Can a wallet allow you to receive Bitcoins from the same wallet you send them from, and if so, why would there be some reason why this shouldn't be done.
You can send coins to any valid Bitcoin address, including one of your own. The only reason why this shouldn't be done is that one is paying the transaction fees to transfer money to their own addresses. On the other hand, it is not a bad idea if one of your addresses in a wallet is compromised, but then again that is a good reason to create a completely new wallet and transfer all the money there.
This is a fundamental way that wallets operate. Your wallet is list of bitcoin addresses. A typical transaction sends all of your money out of one of these addresses and back to a new one in your wallet, as well as to your recipient.
If you mean can an address receive coins it was sent, the answer is a resounding yes - that is exactly how satoshidice works, which at one point was the biggest mover of all bitcoin.