I'm unsure whether you want to use your expected output in bash or want to use the specified output somewhere else. Here are two answers for both cases: 
Replacing newlines with \n and add surrounding " quotes
In this case your question is a duplicate – at least the part of replacing newlines with literal \ns. The easiest solution is 
sed -z 's/\n/\\n/g;s/.*/"&"/' yourFile provided that you have GNU sed.
If your file ends with a newline (as text files usually do) so will your string:
"1, 2, 3\nA, B, C\n4, 5, 6\n"
If you don't want that trailing \n you can exclude it before the actual processing:
sed -z 's/\n$//;s/\n/\\n/g;s/.*/"&"/' yourFile
"1, 2, 3\nA, B, C\n4, 5, 6"
Encode a multi-line file in a single-line bash string
Use bash's built-in printf with the %q format. From help printpf:
%q quote the argument in a way that can be reused as shell input
To pass the file content to printf use a subshell:
printf %q "$(< yourFile)"
This will use bash's C-string format since \n is not treated as a newline in double quoted "..." strings:
$'1, 2, 3\nA, B, C\n4, 5, 6'