Un si a tutte le tue domande.

Attenzione che, un complex type, che io sappia, non mantiene il collegamento al db che hai con un oggetto mappato.
Ad esempio, se modifichi un valore, non credo che un "SaveChanges()" riesca a salvarlo in DB.

Su questo non ho fatto nessun test.