Нет способа сделать индексированную замену, как вы описали с помощью регулярных выражений.Если ваш список является последовательным и не заключен в разметку, то быстрый скрипт на любом языке может обработать замены для вас.Например, в JavaScript ...
(Этот код быстрый и грязный, у него нет друзей, его дразнили в начальной школе, но он выполняет свою работу.)
<html>
<script>
function init(){
var i,id=1,item,arr=[],items=document.body.innerHTML.split(/[\r\n]/g);
for(i=0;i<items.length;i++){
item=items[i].replace(/^\s+|\s+$/g,"");
if(item=='')
continue;
arr[arr.length] = 'id:'+
('00'.substr(0,2-Math.floor(Math.log(id)/Math.LN10))+id)+
', name:'+item;
id++;
}
document.write(arr.join('<br>'));
}
</script>
<body onload='init()'>
asdf.jpg
lkh.jpg
gfh.jpg
iuaa.jpg
(etc...)