I want to complete the Pieces of the Past quest without killing Silus, but even if I chose so, two Dremora appear who proceed to kill him immediately. How can I avoid this or protect him?
Some deaths in skyrim are scripted. And you cannot avoid the NPC's from being killed. It seems that Silus is not one of those NPC's. So what you want is possible. At least according to the NPC and Quest wiki pages. (It is important to know what you want is possible. In this case, it is possible).
I think dremora are not immune to poisons. So hitting both of them with a paralize poison should freeze them and allow you to kill them without them hitting Silus.
The easiest way to quickly poison them is using a weapon with a high attack speed, such as a knife. Put poison on the blade, quickly hit the first, apply poison, hit the other. Repeat if they stand up.
Using Alchemy you can make your own paralize poisons easily enough. There is also a paralize spell, and a mass paralize spell. But the mass one is pretty high level.
You know the combat is about to happen, so you could cast some summons of your own, and hope they draw away attention from Silus before he gets killed.
You could try sneaking. Start the combat sneaked, and hit one of the dremora for sneak damage. But not sure if that is possible. Do keep us informed about how you managed to protect him.
You can set him to essential, and that way he cannot be killed.
Open the console, and type in "setessential 000240CC 1".
To make him killable again, use "setessential 000240CC 0".
Change the difficulty
If you change the difficulty, you will increase the damage you do to the Dremora, that way you could abuse this setting to quickly kill the summons, and then put it back to your normal settings.
Note: This only changes the damage the dremora do against the players, and the damage done against them. Silus still gets the same damage from them.
Just let him die
Uriel Septim VII wants his revenge! END THE MYTHIC DAWN BLOODLINE!
If you kill the Dremora before they kill Silus, he will remain friendly to you but you will not be able to use Mehrune's Razor. If you are on PC and are willing to use the console, you can spawn Silus back into the game using: