Yes, but the update/insert/delete won't and can't be "dirty"
READUNCOMMITTED and NOLOCK cannot be specified for tables modified by insert, update, or delete operations. The SQL Server query optimizer ignores the READUNCOMMITTED and NOLOCK hints in the FROM clause that apply to the target table of an UPDATE or DELETE statement.
It goes on to say that this "feature" is deprecated anyway
With NOLOCK on the SELECTs, this means locks are neither issued nor observed. From same link
No shared locks are issued to prevent other transactions from modifying data read by the current transaction, and exclusive locks set by other transactions do not block the current transaction from reading the locked data.
So:
- your own SELECTs do not issue shared locks
- you ignore other locks (eg dirty reads)
As to issuing NOLOCK everywhere, do you know why you do it? I or any other high rep user here would recommend against it...
You should consider snapshot isolation (or fixing the indexes/queries) if you have too many proven blocking reads