If I sign a very short message (0 or 1) with my private key (and the receiving side verifies the signature using public key), is this less secure than to send the sufficiently long signed message?
The problem is not one of forging the signature, but of the meaning of the message.

What is signed is not the message, but a hash of the message. The hash is always the same length.

A message consisting of a single bit or byte can be hashed, so it can be signed, so it can be proved that your key signed it. 

But even if it can be proved, what does the message mean? If it is the answer to a "yes/no" question, you need to still include some reference to which question is being replied to, to prevent replay attacks.


Alice: Is your name h22?
Bob: Signed(Yes) (Eve overhears)
Alice: Are you guilty of subversive activity?
Eve: Signed(Yes) (Alice thinks this is from Bob)


Therefore each answer needs to include some sort of reference to the question, so the answer cannot be reused. You can do this by giving each question a "number used only once" (nonce) which you include in the reply.


Alice: Q1: Is your name h22?
Bob: Signed(Q1:Yes) (Eve overhears)
Alice: Q2: Are you guilty of subversive activity?
Eve: Signed(Q1:Yes) (Alice is not fooled - this is the wrong question number, so it is a replay attack)
Bob: Signed(Q2:No) (Alice knows this is really Bob now)


Of course really Alice needs to sign her questions too. Otherwise Mallory could trick Bob into answering different questions.


Alice: Q1: Is your name h22?
Bob: Signed(Q1:Yes) 
Alice: Q2: Are you guilty of subversive activity? (Intercepted by Mallory)
Mallory: Q2: Are you known as h?
Bob: Signed(Q2:Yes) (Answering Mallory's question, but Alice thinks this is a reply to her).


So it's important that the whole conversation is protected. In reality this generally means including the time and date as part of the message which is signed, as well as signing messages in both directions, and protecting against replay using a nonce.
