Create a string for each menu item. If the player has the required level to use the knife use formatex(myString, charsmax(myString), "My Knife Name"), otherwise make the same with your "???" and check the required level at the menu item, like this :
menu_additem(menu, myString, "1", g_iLevel[id] >= 5 ? 0 : 1<<31)
The "?" Operator "asks" if the given condition is true or false, the first thing after the "?" will be done if the condition is true, the one behind the ":" if it's false.
1<<31 means here that the item in menu will be grey and unusable.