What is the best way to purge data from a table with minimum damage to performance?
You can rebuild or defrag, depending on the nature of the data that was deleted, the number of indexes, and how badly they were impacted. If you know the fragmentation before the delete, it would be easy to assess the delta from sys.dm_db_index_physical_stats; if you don't, then you could just apply the same rules you normally would when determining whether to defrag, rebuild, or neither. (You could also take this time to look at sys.dm_db_index_operational_stats and sys.dm_db_index_usage_stats to validate that all of your indexes are necessary and are being used. Sometimes the best thing to do is drop an index.)

You could also break the deletes into chunks (see this article), and perform incremental maintenance in between, so that your maintenance at the end will be minimal. That may be more intrusive than a single operation, but it would be broken into smaller bursts over a longer time.