I just verified that a 3-byte read (IBRD 3) works fine with my ENET/100 using IBIC.
Things that might cause the read to end prematurely are how you terminate the reads. Are you certain the termination character is not contained within the 24-bit pattern? Do you receive an error on the read? If not then the termination method is most likely being set before that last byte is read. If so, you may need to evalute the behavior based on the error code you received.
Ryan Mosley