Oie Valquíria!
Respondendo suas perguntas:
"Portanto quando a variável será utilizada mais de uma vez e em contextos diferentes é melhor criar de maneira mais geral, e quando utilizamos em contextos específicos pode ser criada apenas dentro de um método por exemplo, certo?"
R: Isso mesmo!
"Agora minha dúvida é, seria má prática criar varáveis locais (ou seja, limitadas a escopos diferentes) com o mesmo nome, ou deveríamos sempre buscar criar com nomes diferentes mesmo que elas nunca vão se "esbarrar" por assim dizer?"
R: Acredito que depende, se no seu contexo for mais fácil de entender o que está acontencendo no código não vejo motivo para não ser feito, agora até onde eu sei, a maioria dos programadores não acharia muito legal e optariam por não repetir o mesmo nome. Algumas "boas práticas" irão depender muito do contexto do projeto no qual você está trabalhando, as vezes os membros da sua equipe adotam uma "prática" nova e por vezes incomum para outros programadores, isso visto de fora pode ser considerado má prática mas dentro da sua equipe, por todos fazerem desse jeito, pode ser considerado algo normal.
Eu achei uma discussão muito legal no stackoverflow onde é comentado algumas boas práticas quando se fala de nomes de métodos e variáveis em java, se tiver interesse de ver é só clicar aqui. Lembrando, o que está escrito não necessariamente é uma regra absoluta, algumas vezes irá depender do contexto no qual você está trabalhando.
Espero ter ajudado :)
Bons estudos!