Obrigado ao Amigo Emerson Nascimento do Forum DevMedia que me ajudou na resolução dessa dúvida.
Segue a query funcionando perfeitamente abaixo:
SELECT id, prod, min(CONTEUDO) VALOR FROM
(
SELECT id , prod, 'Val1' CAMPO, Val1 CONTEUDO FROM tabela WHERE coalesce(Val1,0) > 0 UNION ALL
SELECT id , prod, 'Val2' CAMPO, Val2 CONTEUDO FROM tabela WHERE coalesce(Val2,0) > 0 UNION ALL
SELECT id , prod, 'Val3' CAMPO, Val3 CONTEUDO FROM tabela WHERE coalesce(Val3,0) > 0 UNION ALL
SELECT id , prod, 'Val4' CAMPO, Val4 CONTEUDO FROM tabela WHERE coalesce(Val4,0) > 0 UNION ALL
SELECT id , prod, 'Val5' CAMPO, Val5 CONTEUDO FROM tabela WHERE coalesce(Val5,0) > 0
) TAB
GROUP BY id, prod
ORDER BY CONTEUDO LIMIT 1