Why is padding used for RSA encryption given that it is not a block cipher? In AES we use some padded bytes at end of message to fit 128/256
byte blocks.  But as RSA is not a block cipher why is padding used?
Can the message size be any byte length (is the encrypting agent
free to choose) or must it be a certain byte length to use RSA
encryption?
RSA without padding is also called Textbook RSA.
The question why RSA without padding is insecure has already been answered 
in this question.

We can fix a few issues by introducing padding.


Malleability: If we have a strict format for messages, i.e. that the first or last bytes contain a specific value, simply multiplying both message and ciphertext will decrease the probability of creating a valid (in terms of padding) message.
Semantical Security: Add randomness such that RSA is not deterministic anymore (a deterministic encryption scheme yields always the same $x$  for each instance of  $x = enc_{pubkey}(m)$ for constant $m$ and $pubkey$). See OAEP as an example on how to achieve this.


Edit: To answer the second question, RSA plain text are (unlike AES plain texts) limited by an upper bound. Messages must not be longer than the $N$ of the public key. It is also noteworthy, that common cipher schemes don't handle or pad blocks of RSA ciphertexts at all. Usually, the message is encrypted using a symmetric cipher (like AES) and only the key to this seperate cipher text is encrypted using an asymmetric cipher (like RSA). This is also called hybrid encryption.