La primera forma (sin probarlo) intuyo que no funcionaría, ya que al usar Parambyname, Delphi incluirá las comillas simples al principio y fin del nombre de tabla, así que provocaría un error en ejecución.
Otra forma más es:
Código Delphi
[-]
const DeleteTable = 'delete from %s %s';
begin
query1.sql.text := Format(DeleteTable, ['NombreTabla', '']);
query1.sql.text := Format(DeleteTable, ['NombreTabla', 'where codigo = 3']);
Query1.ExecSql;
end;
También puedes usar un ComboBox para elegir la tabla de la que quieres borrar, dichos nombres de tablas los puedes extraer del objeto TDatabase, que tendrá un método "GetTableNames".
Saludos