Only seeing leading 4 letters of each word? There's no problem, BIP39 was designed in the way that only leading 4 letters can already uniquely represent a word.
This is not correct. As someone who's busy developing a BIP39 checker, this is only a recommended guideline. It is not strictly required to make every word have 4 unique letters, but it's highly discouraged not to because the more characters you need to iterate in a word to tell it apart from other words, the more likely someone's going to type the wrong word in their seed phrase.
It is definitely possible to create and use a wordlist that breaks this rule, but such a wordlist has no chance of getting merged into the BIP39's official github repository.
The word list that this thread refers to should be numbered 0 thru 2047. Correct?
If you're just printing out a list of words, it shouldn't matter how you number your words as long as you do it consistently in your project. If this is supposed to be fed into a machine, 0-based numbering, the number can be directly converted to a binary value. But if it's supposed to be read by humans, we find it a lot less confusing to remember numbers of words if the words use 1-based numbering.