You can set the read-only attribute (in File Explorer's File Properties dialog) on any of the workbooks, including the referenced workbook, regardless of whether that is a normal macro-enabled workbook, or a macro-enabled add-in.
There isn't anyway to make a referenced workbook not appear in the VBE Project Explorer, but you can "protect" it with a password so that it can't easily be explored, but note that password protections are very easily defeated, so assume that determined users will be able to browse and change your code.
If you need better protections, and you'd like the reference to only appear in the references list and not in the Project Explorer, then you'll need to implement the reference as a COM Type Libarary, and install it on each machine upon which it is required. It's more effort, but it also offers much better protection.