Modifying a traced model, then doing a copy() forces a “proper” re-allocate at least. 
Any assistance with some of the other questions would still be appreciated! But my immediate needs are at least met.
lm = torch.jit.load('m.pt')
subset = torch.randn_like(lm.emb.weight[:80])
lm.emb.weight.data = subset
tmp = lm.copy()