I would like to calculate NDVI and other vegetation indexes from sentinel2 images using QGIS, however I cannot find a way to select only a small area from the whole image,
You can use Clip raster by Extent tool or Clip Raster by Mask layer tool in Raster > Extraction menu. There are several options to define the clip area. Older QGIS versions had the Clipper tool for the same purpose.