Просто используйте параметр htmlAttributes
:
@Html.TextAreaFor(model => model.Something, new { @readonly = true })
Чтобы привести в порядок if
/ else
в вашем представлении, используйте метод расширения, который выполняет проверку if и выводит другое текстовое поле.
Не уверен, что вы имеете в виду под переносом слов - из моего понимания <textarea>
элементы всегда переносятся, если вы не используете wrap="off"