Hi, P2646 is a very common problem and there are many posts about it on this forum if you do a search.
Unfortunately the bottom line is there is no definite answer !!
I have added below a description of how the V-TEC works and why it gives that code.( Not my own work, I found it on another forum discussing this problem. Good luck !!
V-TEC OPERATION
The VTEC system increases the amount of intake valve lift for increased power. It accomplishes this by turning a control solenoid 'ON' to allow oil pressure into the VTEC control passages to apply pins that will lock the intake rockers. When the oil pressure is present, the pressure switch signal will go high. When the control solenoid is turned 'OFF', the oil pressure is dumped and the oil pressure switch signal will go low.
Simply stated, normal system operation to the PCM would look like: Solenoid 'ON' = pressure switch 'OFF'
Solenoid 'OFF' = pressure switch 'ON'
If the pressure switch signal is not logical for the commanded state of the control solenoid, a DTC will set and the PCM will go into a 'fuel-cut' mode limiting engine rpm and performance. The PCM simply doesn't 'know' what the state of the intake valves are, so you end up with the symptoms you describe.
Clearing the DTC, disconnecting the VTEC oil pressure switch and using a jumper wire to short the signal wire to ground and keeping your RPM below 2700 when driving would prevent VTEC from engaging and you could operate your vehicle. This ASSUMES that you actually do have engine oil pressure to keep from grenading your engine. I assume that you have not had issues with the red oil pressure light in the IP flickering or staying 'ON'? Your particular DTC would not be caused by a low oil pressure issue, but I prefer to be very cautious in this area, since I am not seeing the vehicle first hand and have to rely entirely on 2nd/3rd party information.
The most common VTEC issues we see are, in order of frequency: very low engine oil levels that result in starvation under hard accelleration, faulty VTEC oil pressure switches, faulty VTEC oil control solenoids, sludged / clogged oil passages in the VTEC oil control circuit, wiring harness / connector terminal damage, bad PCM.
The description of pressure switch operation may seem confusing, so compare it to how the regular oil pressure warning lamp works. When you have the ignition 'ON' and the engine is not running, there is no oil pressure. The oil pressure switch is spring-loaded closed (ON) providing a path to ground and the warning lamp stays illuminated. If this was a feedback circuit to the control module, the module would see a 'LOW' voltage because the voltage is being dropped to ground.
When you start the engine, engine oil pressure overcomes the spring tension in the switch, causing it to open (OFF). This removes the path to ground, current cannot flow and the warning lamp goes 'OFF.' A feedback circuit to a control module would see a 'HIGH' voltage potential because the circuit is 'open' - no continuity to ground.
Your 'HIGH VOLTAGE' DTC means that the VTEC oil pressure feedback circuit is staying electrically 'OPEN' all the time. Either the switch is bad, the wiring is broken somewhere, or the control solenoid is leaking oil pressure into the VTEC circuit when it is supposed to be 'OFF' or the PCM is FUBAR.