If a single grain is a heap then any number of grains is a heap and the property of being a heap is meaningless. A single grain as a "small" heap also runs into a problem called higher order vagueness. Where do you draw the line between a small heap and a regular heap or a large heap? Determining the cutoff seems to be another heap problem.
Small, medium, and large are contextual. If you lack sufficient context to use such classifiers then objective terms can be used - '[a heap of] 200g of wheat'.
Personally I'd classify "any quantity of discrete articles in which are least one article is held up from contact with the ground/container as being a heap". Heaps are haphazard stacks to me; ergo 2+ items constitute a heap when they are arranged appropriately.
A heap of grain is no longer a heap when spread across furrows (but may be lots of little heaps!).
It's like temperature, a volume of stuff being hot is variable 1K is hot on some circumstances, 10E3 Kelvin if cold in others but we have absolute scales to work around such issues.
That problem applies with any arbitrary category. If you look at any color, you're going to describe it as whatever color category its closest to. If it's more red than yellow, you might call it orange, I might call it red, someone else might call it orange-red, or I dunno 'pumpkin'. Language is imprecise.
Is it categories themselves that are arbitrary or the set of items belonging to a category are arbitrary? Do you mean that the meaning of a statement is imprecise in that it is vague or ambiguous? Or do you mean that the way that humans employ language to convey concepts is imprecise?
You are thinking like a psychologist or a linguist. I'm not denying that many people view this is a tedious and seemingly silly thing to argue about but you can't metaphorically just throw up you hands and claim that it doesn't matter as a valid counter argument when you are doing philosophy.