How to create unique label on macro definition on AVR GNU assembler?
You can use numbered labels (these do not need to be unique) and jump instruction with suffix b or f with the meaning to jump to nearest label with this numerical value backward or forward respectively.

So, for your particular case following should work:

.macro SetFlag par0
    brid  1f

    cli
    lds   RTMP,FLAGS_M
    sbr   RTMP,(1&lt;&lt;\par0)
    sts   FLAGS_M,RTMP
    sei

    rjmp  2f

 1: lds   RTMP,FLAGS_M
    sbr   RTMP,(1&lt;&lt;\par0)
    sts   FLAGS_M,RTMP
 2:
.endm


(Code not tested, I have put it here as an illustration how to use labels only.)

But note that the label at the end of macro without any instruction following can cause some problems of its own too.