The cleanest solution is not, natively, a one-liner.
typeset -A data                   # Create an associative array.
while IFS=: read -r key value; do # Iterate over records, splitting at first :
  data[$key]=$value               # ...and assign each to that map
done < <(Return_Data)             # ...with your command as input.
# ...and, to use the extracted values:
echo "Hostname is ${data[HOSTNAME]}; location is ${data[LOCATION]}"
That said, you can -- of course -- put all these lines together with ;s between them:
# extract content
typeset -A data; while IFS=: read -r key value; do data[$key]=$value; done < <(Return_Data)
# demonstrate its use
echo "Hostname is ${data[HOSTNAME]}; location is ${data[LOCATION]}"