I want to make a command that prints the argument with a font which is one point smaller than the current one.
For example, if a document has 11pt font, the command has to print with 10pt. If the document has 10pt font, I want the command to print with 9pt font.
I don't want this to be bound to the document's font size though. If the command is used in an environment that defines the font to be Xpt, I want the command to produce a text with the font size (X-1)pt
\smallshould be the font switch you search for.
\smallis not always one point smaller, for two reasons: (1) It is an asolute size, depending on document class point size. (2) It is possible for a document class definition to make it a different size. My belief is that the OP wants to have a macro that reads the current size (which is not necessarily the document class size), calculates one point less, then applies the smaller size.
\smallerdoes not choose a font one point smaller, but will switch to the next declaration among the predefined ones; which may be one point smaller or not.