WS2811 addressing the last LED faster?

I read that ws2811 "addressing" is accomplished by the each chip removing 3 bytes of data and passing the rest of the data downstream.

If I have a string light made of 50 ws2811s and I want to send instructions to the farthest LED, do I have to send instructions to all 50 LEDs? IOW, do I have to send 150 bytes of data even though only the last 3 bytes are needed?

Yes.
I don't think there is a no-op byte you can send to WS2811s that don't need changing, you must send them the same data again.

WS2811-preliminary.pdf (320 KB)

A) Yes, it's always necessary to send the complete frame when it's about changing the last led, too.

B) But: In case it's for example only about a change of the fifth led you could push only the data for the first 5 leds and that's it.

The WS2811 has a tight time grid for receiving the data. If nothing is coming in within the expected timeframe the chip is immediately ready to receive the next frame. So in case B time could indeed be saved by writing out incomplete frames.

BUT: Keep in mind, that the WS2811s can receive data only up to +-400fps (limited by the PWM frequency). So with only 50 leds it makes no sense to tune the sending procedure, because you could already drive them abouve this speedlimit and you will encounter glitching without a delay between the frames.

It takes 30µs to write one led - so a chain of 83 leds needs 2,5ms for receiving one frame which means at this lenght is the 400 fps limit. If the chain is longer method B could help to keep the fps up to 400.

The FastLED library is the fastest known way for sending (complete frames of) data to led controllers.