Best method to transfer two int percentage values over a CAN bus
You don't need int to store those values - a simple int8_t will do.  int8_t can store from -128 to +127.

Then just place int8_t A in data[0], int8_t B in data[1] (cast them to uint8_t) and set the length to 2.  Read them from there at the other end as uint8_t (cast them to int8_t), and Robert's your mother's brother.

You don't even need to restrict it to int8_t though - you could use just uint8_t throughout.  The values you have are -100-0 and 0-100.  Those are both ranges of 101 values.  101 fits into 8 unsigned bits easily. As long as both ends agree that the positive value in data[0] is a negative value (store -34 as 34) then use it as such (subtract data[0] from 0 so 34 becomes -34) then you don't need to transmit the - sign.