I received a survey titled 'civiCRM survey 2016' with my first name, last name and email fields pre-filled and not editable. How did you achieve this? Are you using the no-overwrite extension or webforms disabled fields also work when using the civiCRM checksum?
That survey uses a Webform-civicrm form. The 'existing contact' field has had 'Field Locking' applied to the Name and Email fields (first time i saw this feature - nice addition!).
if you want to achieve the same directly in civicrm profile when you add a field to the profile you have the option to set it to read-only.
ADDENDUM: Nathan below comments that "I believe this is available in Webform CiviCRM 7.x-4.15 based on the notes and code in the change comparison listed here: github.com/colemanw/webform_civicrm/compare/7.x-4.14...7.x-4.15"