@Coin I think -- think -- the reason for the 'B' was that his father's name was also John (Big John). People who knew both (which would be most everyone in the story) would likely have had that drilled into their skulls as a means of addressing one or the other clearly. It's a pretty common thing to do name-wise, anyway, when someone does the whole same-name thing.
The same-name thing seemed really common when I lived in North Carolina, more than I saw elsewhere, anyway. It probably isn't statistically, but I knew easily half a dozen folks it applied to there in 2 years, and have only run into 1 anywhere else ever. It always had some kind of differentiator like that involved, so this may have just rolled off as making it seem more genuine, weirdly enough.