eu nao lembro q solucao eu propus inicialmente... mas, hoje, faria algo como o seuinte:
nomes <- gsub('^([[:alpha:]]{1})[[:alpha:]]+[[:blank:]]([[:alpha:]]{2})[[:alpha:]]+$', '\\1\\2', nomes.lin)
f <- function(x){
tmp <- new.env()
tmp$x <- x
dups <- x[duplicated(x)]
sapply(dups, function(v){
i <- which(tmp$x == v)
tmp$x[i] <- paste(v, 1:length(i), sep='')
})
tmp$x
}
nomesClean <- f(nomes)