So I was really overthinking this problem. Hopefully my answer can help someone in the future. Basically all I needed to do was save the array from wordpress and check to see if the user_ID (Associative Array Key) was in the Array, if it was and the user needed to change the value I needed to search throughout the array replace the value and update that array. If the User has never made a selection before, just needed to add his selection to the array.
<?php
if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == "new_post") {
// Do some minor form validation to make sure there is content
if (isset ($_POST['charity_name_form'])) {
$title = $_POST['charity_name_form'];
$user_ID = get_current_user_id().'_ID';
$user_choice = array($user_ID => $title);
$meta = get_post_meta( get_the_ID(), 'user_charity');
$array_location = $meta[0];
// THIS CHECKS TO SEE IF USER HAS MADE A SELECTION BEFORE, IF HE HAS AND UPDATES HIS SELECTION THE VALUE CHANGES
if (isset( $array_location[$user_ID])){
$new_array = array();
foreach ($array_location as $key => $values){
$new_array[$key] = $values;
}
$new_array[$user_ID] = $title;
update_post_meta(get_the_ID(), 'user_charity', $new_array);
}
// IF USER NEVER SELECTED A CHARITY HE SELECTS ONE
else {
// TAKES OLD ARRAY AND PUTS IT IN NEW EDITABLE VARIABLE
$new_array_add = array();
foreach ($array_location as $key => $values){
$new_array_add[$key] = $values;
}
// ADDS THE NEW USER SELECTION TO THE PREVIOUSLY SAVED ARAY
$new_array_add[$user_ID] = $title;
// UPDATES THE META WITH THE NEW ARRAY VARIABLE
update_post_meta(get_the_ID(), 'user_charity', $new_array_add);
}
}
}
?>