If you want read only, then try using the readonly attribute of the diskpart command. That should prevent deletion or formatting.
It doesn't require a password though, and can be partitioned/formatted by simply removing the readonly attbribute first. But, it should prevent accidental deletion or maybe a virus deleting a partition. Might prevent a general virus infection (not sure). I think it "should" remain readonly/write protected on any machine. Maybe someone else knows those details for sure.
Again, it should prevent "being written to or formatted" at least without removing the readonly attribute first. 99% percent of the general population probably doesn't know how to do that.
You might use diskpart to prevent deletion, and truecrypt to secure/encrypt the information?
An MS article.
MS Article for diskpart syntax
The usual disclaimer. this command can delete disks, partitions, and stuff. Use at your own risk.
Syntax would be something like ...
open an elevated prompt
diskpart
list disk
select disk 1
attributes disk set readonly
To verify readonly attribute ...
select disk 1
attributes disk
to clear readonly ...
select disk 1
attributes disk clear readonly