MathGolf, 1616 13 bytes
♫rÇ♫♪↨Ç{▒h3≤\ε*ìΣ9=┌▒ε*\Σ8=┌
Unfortunately, there's no range from x to y, so we have to waste bytes on checking the length of the digit as wellTry it online!
Explanation:
♫ ↨ Range from 10000
r ♫♪ Range from 01000 to 999910000
Ç{ Filter out by
▒h The length of the string
3≤ is less than or equal to 3
\ε* ▒ε* The product of all digits is not 0
Σ9=┌ Σ8=┌ The digit sum of the digitsloop index (0 based) is not equal to 98