Yes, you can access a datamap which has been added to an array.
Try something like the following:
(set: $inv to (a:))
(set: $smartphone to (dm:
"description", "An iPear smartphone."
(link: "Add smartphone")[(set: $inv to $inv + (a: $smartphone))]
And the following in your Inventory passage:
Your inventory contains:
(for: each _item, ...$inv)[(print: _item's name) - (print: _item's description)