Memory addressing in eMMCs
how does it work when I need just few bytes from a 512B sector


You read the whole sector into a 512 byte buffer, and copy the bytes needed.


  ask for an entire block discarding most of its data with a consequent great loss of time


You can re-use the buffer that you read above. Many accesses are in the same 512 byte block.


  who provides the offset for the bytes of interest once the whole sector is retrieved?


That is the task of the file system. You don't need to write that part yourself - there are many open source implementations of various file systems.