In addition to, creating a non-clustered index on first_nm column, is there a way to make it run faster? can it done in small chunks ?
The non-clustered index on name is a good first step to avoid the full table scan and mitigate blocking. I suggest you create that index and monitor.
For next steps, consider changing one of the other indexes to clustered. If index key values are unique, explicitly specify unique as that can help SQL Server optimize queries better. Same with non-clustered indexes. The best candidate for the clustered index depends on the workload and queries.