2 will be correct with my addition shown above.
3 is correct and the most appropriate as he is still a teacher.
If he no longer taught, you would ask "For how many years did you teach English?"
With all of them, you can use "For how long" instead and you will also hear them without "For".
- For Teachers