'b' is a regular char literal. Prefixing it with L makes it a wide character literal. The same deal with quotes. "b" is a regular char string. L"b" is the wide character string with equivalent contents.
No, L is only used to prepend character literals and string literals to turn them into wide character literals and wide string literals. If you have a wchar_t variable you can assign it to another wchar_t variable without needing to use L on that assignment.