I'm not sure what you're after exactly. You can't send a single key and value from a hash as a reference, as nothing like that exists to be referred to: the hash has two keys, to have a hash with only one of the keys, you need to create a new one.
If you feel the for loop is too verbose, you can switch to map:
List_Subscriptions(map $_->{Sub_Name}, @Subscription);
(It doesn't send a reference, but a list, you need to wrap the map into square brackets to create an anonymous array to refer to).
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]