This is not possible. When you declare Long x = 0b01101L;, you create a long instance, which contains no information about the String representation of the value it contains. Yes, it equals 13 in decimal, but it also equals εδΈ in traditional Chinese/Japanese writing, and it also equals 10 + 3, and so on.
If you want to convert it to a String padded to a certain number of zeroes, you can use String.format("%16s", Integer.toBinaryString(x)).replace(' ', '0'), but you must know in advance how many digits you want to be printed, as this will always return 16 digits.
However, this information is not encoded in a Long (or long). If you need to keep this information, declare your variable as a String xString = "01101";, and convert it to a long using Long.valueOf(xString, 2); when you need to do numerical operations.