うーんいいところに気づいてるんだけどな

ItemData.Param itm ← このitmは「参照」のいれもの
newされるのは新しくつくられる実体(ただし中身のデータは空っぽ)

参照が住所なら、実体は家みたいな関係
newされた家はからっぽ

itm = new .... なら新しくつくったインスタンス(実体)の「参照」を渡している
itm = itemdata.param[itmid]; これはすでに存在しているインスタンスの「参照」を渡している

itemdata.paramは住んでいるひとのいる家、実データが入っている

なお、他のスクリプトから呼ばれるかどうかは関係ない
どのスクリプトから見ても住所は同じ