Wire library, linking arduinos programming question

Hello everyone, I'm working on a color tracking, obstacle avoiding robot for a class project and need a little help understanding the programming link between the two arduinos. Just to make sure, the

void recieveData(int howMany){
  int c=Wire.read(); //Confidence from the CMUcam4
  int a=Wire.read(); //X position of the object via the CMUcam4
  int b=Wire.read(); //Y position of the object via the CMUcam4
  int p=Wire.read(); //Pixel density from the CMUcam4
  float cm=Wire.read(); //distance measurements the Ping sensor on the master
}

section of code works just like any other loop right? so I can call this when I need in my void loop to obtain the latest set of data being transmitted from the master arduino?

void recieveData(int howMany){
  int c=Wire.read(); //Confidence from the CMUcam4
  int a=Wire.read(); //X position of the object via the CMUcam4
  int b=Wire.read(); //Y position of the object via the CMUcam4
  int p=Wire.read(); //Pixel density from the CMUcam4
  float cm=Wire.read(); //distance measurements the Ping sensor on the master
}

c, a, b, p, and cm are local variables that go out of scope when the function ends. Wire.read returns a byte (an integer type value). Storing that in a float won't make it a 4 byte float value.