Reindexing Clustered Primary Key
I know that reindexing the PK will lock the table, so I was wondering what best practice for this operation is?


Well having some DB file size/growth and free disk space monitoring would be good so this situation never happens. As you are in this situation I think the plan you have outlined is your only choice until you get more disk space and you really need more disk space. 


  This script suits our needs for now, but what is considered best
  practice usually for a table of this size assuming we had infinite
  available space?


Regular index maintenance would be nice. Try looking at Ola Hallengren's maintenance scripts here to solve that.  These scripts provide an almost fully automated methodology for maintenance of your SQL Server databases.