A principle that I follow is that, when an identifier is established, it should be a signal to the reader that the value referred to is indeed an abstraction which will be used more than once. That is, the identifier is defined or assigned once, and the value is read more than once.
However, a common idiom exists whereby, in order to increase readability, parts of a complex expression are factored out into variables. These variables will only be used once, violating the principle.
Thus, a special separate class of identifier should be used to indicate a one-use variable.
This principle applies to any identifier. So you might have one-use functions, one-use methods, one-use variables, etc.
Has there ever been a programming language which supported one-use variables?