Are duplicated NVARCHAR values stored as copies in SQL Server?
Under &quot;normal&quot; conditions, no, data in VARCHAR and NVARCHAR columns is not de-duped (although duplicate attribute and/or element names in a single XML value are reduced to a unique instance).
Using one of the Data Compression options is probably your best bet. Here are some things to consider:

Unicode Compression (part of Row Compression) only works on NVARCHAR(1 - 4000), not NVARCHAR(MAX) (please vote for / support: Unicode compression NVARCHAR(MAX)).
Page Compression can work with NVARCHAR(MAX), but only for in-row data. Off-row data (LOB pages) is not compressed.

Since the data won't really be changing, you should look into the Columnstore Index options (also available in Azure SQL Database):

Columnstore indexes: Overview
Columnstore indexes - Design guidance

Columnstore compression should be better than Page compression.
 
Also, you should probably avoid using the SPARSE option, due to:

The SPARSE option offers no benefit compared to Data Compression.
It is mainly intended for columns sets / wide tables (i.e. up to 30,000 columns).
It mostly helps with fixed-length datatypes (e.g. INT, DATETIME). So, prior to Data Compression being available, it was useful for CHAR and NCHAR, but not for VARCHAR or NVARCHAR as they don't take up space when NULL.
It only benefits columns set to NULL.
It slightly hurts non-NULL values by adding 2 bytes to each one.
You should probably have NULL for 50% - 60% of the rows in order to get enough savings for it to be worth using this option.

For more details on working with character data, please see the following post of mine:
How Many Bytes Per Character in SQL Server: a Completely Complete Guide