I’m having a hard time making this work:
Serial.readBytes( (char*)(&leds[i]), 3); // read three bytes: r, g, and b.
If i have a 60 pixel LED attached to my arduino what exactly do i need to print in my Serial in order to light led[6] with red color for example.
You generally should read all 60 pixels (180 bytes) every time and set all of them. Unless you setup some protocol which let you call out a specific LED to read the data to.
Although, most of the time Serial has a 64 byte buffer limit so you will have to read from Serial in a loop until you get all your data.
I had to do the same thing in the firmware for my AllPixel LED Controller: https://github.com/ManiacalLabs/AllPixel/blob/master/Firmware/Firmware.ino#L196
But you can, in fact, read directly to the FastLED leds array.
If you just want a USB/Serial interface to your LEDs, definitely check out the AllPixel (http://maniacallabs.com/AllPixel) which uses FastLED in the firmware. Not sure exactly what you are attempting, but my board may make things a little easier for you since it already handles all the serial communication stuff for you.