Con el comando que estás utilizando, como ya has podido comprobar, solo puedes obtener información de cuando slots del inventario contienen ciertos datos, en este caso que se agrupen 16 bloques de piedra en el mismo slot. De esta forma, es difícil comprobar que el jugador posea 16 bloques de piedra o más, puesto que puede organizarlos de cualquier forma entre todos sus slots del inventario.
Por otro lado, el comando clear funciona en todo el inventario al mismo tiempo, lo que te permitirá comprobar el número total de items de un mismo tipo que posee el jugador. Suponiendo que esto sea lo que realmente necesitas, lo demás es simplemente conocer un poco el comando /stats:
Mediante un solo scoreboard, el comando stats guardará la cantidad de items que resultan afectados por el comando clear, cuando el jugador lo ejecuta en sí mismo.
Para empezar crea el scoreboard que almacenará los resultados del /stats:/scoreboard objectives add <id> dummy <nombre>
Es necesario que todos los jugadores que vayan a ser comprobados mediante el /clear tengan un valor en el scoreboard que acabas de crear, por tanto:/scoreboard players add @a <id> 0
Lo siguiente es crear el /stats. Debes saber que para el comando clear el CommandStats que necesitas es AffectedItems:/stats entity @a set AffectedItems @a[c=1] <id>
A partir del scoreboard que creaste inicialmente podrás obtener la cantidad de items de un mismo tipo haciendo que cada jugador se ejecute a sí mismo el /clear:/execute @a ~ ~ ~ /clear @a[c=1] minecraft:stone 0 0
Obtendrás como resultado la cantidad de items de piedra que tiene cada jugador en el scoreboard inicial. Ahora simplemente te queda utilizar la información de ese scoreboard para que cualquiera con más de X items de piedra pueda hacer algo:/execute @a[score_<id>_min=X] ~ ~ ~ /
Si necestias más ayuda coméntalo, pues el comando stats suele ser difícil de entender y pocos te podrán prestar ayuda porque casi nadie lo sabe usar.