I have to make a choice based on the minimum stored data, so I would like to know which encryption protocol is better in terms of the size of the resulting ciphertext for very short plaintexts (8 to 40 bytes)? RSA? ElGamal? EICES?
A compressed point - which makes up the ephemeral public key for ECIES - only takes the key size, possibly prefixed by an indicator byte with value
03 (which is required by some libraries).
So for e.g. BrainpoolP256R1 you'd get 32 bytes, and maybe one more for the byte indicating that it is a compressed point. That is enough to derive a data encryption key. As the public point is already ephemeral there is no need for an IV. After key agreement you would just require the ciphertext bytes - which for CTR is identical to the plaintext message size.
So that would come down to a ciphertext size of 32 + 8..40, or 40 to 72 bytes (not including the indicator byte), while still giving you 128 bits of security (and no protection against quantum computers of sufficient size, of course). That's way less than the 256 bytes required for RSA, while RSA would be less secure on top.