FOC for a BLDC motor with Hall sensors but no encoder
can FOC even work for BLDC without an encoder but just with Hall
  sensors?


You have an encoder, it just doesn't have very high resolution. But how to increase it? 

Once you know how fast the rotor is spinning (time between Hall sensor signal changes) you can predict intermediate angles. If motor speed is changing then the prediction will be off, but you can compensate for this too by measuring the acceleration and factoring it in.