EF Code First uses nvarchar(max) for all strings. Will this hurt query performance?
Larger nvarchar (max) data items (over 8000 bytes or so) will spill over into text storage and require additional I/O.  Smaller items will be stored in-row.  There are options that control this behaviour - see this MSDN article for more details.

If stored in-row there is no significant I/O performance overhead; there may be additional CPU overhead on processing the data type but this is likely to be minor.

However, leaving nvarchar (max) columns lying around the database where they are not needed is rather poor form.  It does have some performance overhead and often data sizes are quite helpful in understanding a data table - for example, a varchar column 50 or 100 chars wide is likely to be a description or a free-text field where one that's (say) 10-20 chars ling is likely to be a code.  You would be surprised how much meaning that one often has to infer from a database through assumptions like this.

Working in data warehousing, as often as not on poorly supported or documented legacy systems, having a database schema that's easy to understand is quite valuable.  If you think of the database as the application's legacy, try to be nice to the people who are going to inherit it from you.