I am trying to make to make datapack that allows you to make for example sharpness VI. I know it isn't possible to make the result with nbt tag, but can you make the required items require specific tag? For this purpose - enchant books with specific enchant and level?
This is not possible. Custom crafting recipes do not support NBT, neither in input nor output. You will not find what you are looking for using custom crafting recipes.
You will have to find an alternate method of having the player craft their items. I suggest using a dropper retextured as a crafting table.