I think you are reading too much into the description of the bit fields. In real life the only time you ever need to use these is when writing your own assember system.
The table in the data sheet is "General" format, if you look closely some of the byte oriented instructions the following bit is specifed to be fixed as 0 or 1 which makes it a 7-bit opcode. You will also see that some of the byte oriented opcodes have the same first 6 bits as opcodes in other categories. For example 'movwf', 'clrwdt', 'sleep' and 'return' all start with 000000 but other bits in the opcode are different from each other.
It might be helpful for you to create your own table of opcodes, based on the numeric value rather that opcode type, you will see that each opcode really does have it's own unique bit pattern, whether it is 6, 7 or 8 bits wide. If it didn't the PIC wouldn't know which instruction it ws to execute.
Brian.