Q:

Get list level and use it as a argument in XSLT

I want to count the list level here.
<list>                 <---level 1
  <list>               <---level 2
    <list></list>      <---level 3
  </list>
</list>

A:

Because you referenced xsl:sequence I assume that you can use XSLT-2.0 or above. Therefore you can simplify your template to the following:
<xsl:template match="list-item[normative]//p" priority="150">
    <xsl:variable name="labelno" select="count(ancestor::list)"/>
    <p type="{if (matches(.,'[\d]\.[\d]')) then concat('Note indent ', $labelno) 
              else concat('List Number ', $labelno)}">
        <xsl:value-of select="."/>
    </p>
    <xsl:text>&#xa;</xsl:text>
</xsl:template>

To decide what string to use in the type attribute, it checks for decimals delimited by a point with the matches RegEx function. The indentation level is determined by counting the <list> ancestors.
Its output is: 
<p type="List Number 1">Paragraph 1</p>
<p type="Note indent 1">Paragraph 1.1</p>
<p type="List Number 2">Paragraph 2</p>
<p type="Note indent 2">Paragraph 2.1</p>

