You could create a singleton called Items.tscn that is always in your tree, and whose children are scenes corresponding to your items.
You could then query these children's attributes.
Or you could classify these children using Godot's groups. Then from your Chest scene you could do something like this:
var rare_items = get_tree().get_nodes_in_group("rare")
var choice = randi(rare_items.size()) - 1
var item = rare_items[choice].duplicate()
But you would want to remove the duplicate item from the group, otherwise it would throw off your probabilities.