Actually I could solve my first question, but i don't get why sometimes the old cell output is stored and overwrites the newer output. Nevertheless to subset isin_dataframes by isin_dataframes[isin] worked.
The only problem Iam still having is, that merge_all[isin]['value'] is not represented in the final DataFrame merge_all[isin] properly, so that the entire column ['value'] is NaN.