Hmmmmm,interesting question, I think show has been purposely obscure on the subject, but at least we can try to piece together some things:
The only angel that's been brought back (I think) is Cas. I think the general consensus is he was brought back by God. However there was the insinuation by Raph that Cas was brought back by Lucifer, which means 1) an angel (or more specifically an arch angel) can bring an angel back or 2) Raph was lying to Cas to confuse him with disinformation. As for demons, I don't think any demon who has been killed has been brought back to life By killed I mean shot by the Colt, killed (distinguish stabbed which didn't kill Alistair) by the Ruby knife, bones burned, smited by an angel or psychically killed by our own demon enhanced Sammy. It is a little unclear if Cas killed Crowley and brought him back, but I personally tend to think they faked the death. So I don't know if it could be done, just that to date nobody who possibly could (God,archangel, angel, Death) has bothered.