echo $sourceid_$i
expande duas variáveis separadas: $sourceid_
e $i
. A maneira mais simples de fazer o que você está tentando fazer é com uma referência indireta:
sourceid_2="blah"
i=2
var=sourceid_$i
echo "${!var}"
Mas como @ dave_thompson_085 apontou, os arrays geralmente são a melhor maneira de fazer esse tipo de coisa:
declare -a sourceid
sourceid[2]="blah"
i=2
echo "${sourceid[i]}"
Observe que as matrizes são uma extensão bash e não estão disponíveis em shells mais básicas.