Это то, что вы пытаетесь сделать?
tagger(List) ->
tagger(List, 0).
tagger([Head|Tail], Index) ->
[{Head, Index}|tagger(Tail, Index + 1)];
tagger([], _Index) ->
[].
Потому что, если это так, вы можете использовать lists:mapfoldl
:
lists:mapfoldl(fun (A, AccIn) -> {{A, AccIn}, AccIn + 1} end, 0, List).