Usando backreferences e desagregação da expressão correspondente, cheguei a uma solução de trabalho, que embora seja grande e feia, faz o trabalho perfeitamente:
Correspondência: (IF EXISTS \(SELECT TOP 1 1 FROM sys\.objects WHERE object_id=OBJECT_ID\(N'\[dbo\]\.)(\[\w+\])('\) AND type in \(N'P', N'PC'\)\)\r\n DROP PROCEDURE \[dbo\]\.)(\[\w+\])(\r\nGO\r\nCREATE PROCEDURE \[dbo\]\.)(\[\w+\])
Substituir: $1$6$3$6$5$6