Why is "Do you have anything in mind?" correct?
If "What's the time in your watch?" is grammatically inconsistent (as time is an abstract concept so it should be "by your watch"), why is "Do you have anything in mind?" correct even though that "anything" could be abstract as well (Why is "in" used there)?
The reason for that has to be sought in the relation expressed by the preposition and the relations that are applicable to the entity that the word represents.
If we take "in", the fundamental relation is that of position within something, like a container, something that is characterized by volume, mass, rather than by surface, things that have content, or things similar to them. Therefore, when humans choose a preposition to go with a noun or a verb they go approximately by the meaning of this relation. For instance, in the case of "in the mind", the concept of mind in the human mind is associated with the head, and the head is a kind of container; we know in fact that the mind accounts for some part of the volume of the head. The idea is the same for the combination "in a house" because a house is like a box, like a container; therefore the best suited preposition is "in" when you need to make precise a position between the walls of a house.
Of course this system is not perfect and it takes on very complicated aspects because it strives in great part upon the concrete relation to attribute to the prepositions yet other relations of an abstract nature. For instance, the preposition "on" is use for a concrete relation that has little to do with volume and concerns primarily surfaces (on the table, on the floor (but here, divergence of point of view, and "in the floor" is also correct)), on the sea, on the beach). However, this preposition takes on new abstract meaning and so a locution such as "on the mind" has to be accepted without asking for a clear explanation; when you come to the abstract relations you cannot rely upon the logic of their concrete meaning to a great extent. They appear often to result from mere assignation and the best you can do is to take them as they come.
Let's take another example, that of the watch that you mention. You say the preposition should be "by"; well, it is "by" in a way, that is, it is not just "by", "on" can be used for the same purpose. We have in this usage of "on" the "concrete" logic of relations for surfaces; since our sole real concern with getting the time of day is nothing else but the surface on which we read this time. The preposition "by" is more abstract, the watch is considered as an agent giving you the time; thus, in the case of watches you have two prepositions, one concrete and the other abstract, and both are justifiable as to the the meaning they have. The matching of a preposition to a word is not always so easy or so neat but nevetheless innumerable cases of matching rest upon a more or less evident logic.