Aircraft: B737
Phase of flight: Cruise
Anomaly: Aircraft Equipment Problem Critical; Deviation - Altitude Excursion From Assigned Altitude; Deviation - Speed All Types; Deviation / Discrepancy - Procedural Published Material / Policy; Deviation / Discrepancy - Procedural Clearance

Due to weather and a supposed power outage at the airport; we were delayed approximately 1 hour from our scheduled departure time. This was the start of leg 2 for the day as we already operated out of ZZZ. There was another issue I will discuss after the conclusion of our [priority handling] event. [The] FO (First Officer) was pilot flying at the time. We took off out of ZZZ1 in very light rain throughout our departure. My FO stated it was barely enough rain to notice on the windshield. Light chop may have been experienced temporarily at most; but it was mostly smooth on climb out. We were cleared to flight level 31;000 where we stopped our descent. Shortly thereafter; while autopilot B was engaged; the autopilot started a significant descent all by itself. Unbeknownst to me and after speaking with my FO on the ground; the FO noticed his altimeter jumped from 31;000 ft. to 31;800 approximately. As soon as the autopilot started its descent; I took controls from the FO; disconnected the autopilot and leveled the airplane at 31;000 using my altimeter. I don't think we lost much altitude because I almost immediately disconnected the autopilot to arrest the pitch down moment. ATC shortly queried our altitude and we read back 31;000. ATC stated he saw us at approximately 31;700. About that time I looked over at the FO side and saw his altitude was the same as ATC verified 31700 ft. and looked at my display; which showed 31;000ft. ALT disagree was showing. At the same time; I noticed the FO airspeed was significantly slower than my airspeed and cross-checked the standby indicator - FO airspeed approximately 80 kt. slow. Airspeed disagree showed.At some point; I issued a pan pan pan. Standby airspeed and CA airspeed was the same and based on our thrust setting and altitude there was no doubt my FO's airspeed indicator was incorrect; 70-80 kt. too slow for our thrust and pitch setting. At that point; I determined; maybe incorrectly as I analyzed things on the ground; that since ATC had his altitude readout; I was basing our actual altitude on my FO's display and airspeed on my display. My reasoning is that 700-800 ft. high was safer than 700-800 ft. low; close to the ground; during approach and landing. Since I was now flying airspeed on my side and altitude on my FO's side; my altitude fluctuated up and down due to a gigantic 4 ft. scan instead of a normal 10 in. scan. Once I determined I could not hold altitude as expected; I asked for a block of altitude for airspace protection and was granted that clearance. The QRH for airspeed disagree was started; which led us to unreliable airspeed. We completed the checklist for unreliable airspeed and turned back towards ZZZ1. At some point after this realization I changed our pan pan to [requesting priority handling]. ATC apparently missed our [priority handling request] as he [provided priority handling] for us several minutes after I made the call myself. Upon realizing our altitude and airspeed unreliable; and ATC confirming ZZZ2 was VFR; I decided to turn back around another time to divert to ZZZ2 as it was a safer airport. Eventually; several altitude step downs were given to us for our descent into ZZZ2. QRH was completed and calls to Dispatch were then attempted.FO tried numerous times to contact company to relay our status and was unsuccessful. We attempted several calls on ZZZ3 Radio with no response. We asked ATC to call company and to contact us via ZZZ3 Radio; with no response from Dispatch. We then called on Guard to ask them to contact our Dispatch and let them know to contact us on ZZZ3 Radio; communication with Dispatch was never successful. With everything going on; I did not feel comfortable having my FO heads down sending an ACARS message...we were too busy.Descent checklist was soon completed and approach checklist was completed below 18;000. Holds were also accomplished to allow us time for checklists and getting weather info and setting up for the approach into ZZZ2 which were indicating 1100 ft. ceilings and better than required visibility. At some point in the descent; below 10;000 ft.; my FO realized the EEC were both in alternate mode and a discussion commenced. We discussed the thrust lever position and thrust changes that occurred in ALT mode but due to our [priority handling situation] and attempting to get the airplane on the ground safely; I forgot to have the FO run the QRH for the EEC alternate mode. Due to having no weather forecast and knowing weather was in the vicinity of ZZZ2 due to the hurricane remnants; my main concern was getting the aircraft on the ground safely in as close to VFR conditions as I could get.After landing; while discussing the events with my FO; we realized we probably should have made time to run this QRH procedure. I just didn't have the weather info in flight to make a call to continue holding to accomplish this checklist instead of landing. Landing VFR in my mind was a safer option than running this checklist and possibly losing VFR conditions due to hurricane remnants. The approach was set up and briefed and we commenced our approach. Checklists completed. CFR (Crash Fire Rescue) standing by for us. The approach and landing was uneventful.After landing we were given instructions to taxi down a taxiway; XX or XY; [which] I did not feel was safe for us to turn down [to] as it was too narrow for my comfort. I also had concern that the taxiway could support our weight and relayed to Ground Control that I would not be accepting that taxiway. We did a 180 on a closed runway as Ground gave us permission to do so and frankly; that was our only option due to where the aircraft was stopped on the taxiway.We then returned to [the FBO] and parked. [The] incident was written in [the] logbook with my initial impression on what happed; the caution messages we received and that I thought airspeed was good on my side only and altitude was good on the FO side only. Airplane was chocked and secured; no door seals were on the aircraft. We shut down; secured the airplane; and then did the supplementary procedure for powering the aircraft down. We then exited the aircraft and closed the door. We called for the FBO to remove the stairs from the airplane for security purposes. The stairs were then pulled back from the aircraft and we exited the Ramp into the FBO. [The] Chief Pilot; DOO; Dispatch and Maintenance Control [were] all notified via my personal phone. The earlier situation I referenced was a runway change at clearance for pushback. Since we had not started the engines or changed configuration; I had the FO change our assigned runway and then consulted the TLR (Thrust Lever Resolver) for new numbers. I showed the FO the TLR data and he verified correct data for runway change. I then read him the new data to input since we were pushing back. What I did not realize is that RTO1 had not been selected at that time; but all other number were entered. At some point during the takeoff; prior to 60 kt.; thrust was set; I noticed we had TO (Takeoff) selected instead of RTO1 based on the N1 setting. When I referenced our airspeed at this realization; we had already exceeded 80 kt. I think I made the 80 kt. call at 82 kt. I determined the safest outcome was to continue the takeoff based on our rejected takeoff parameters. I had in the back of my mind a 5 kt. difference in V1 between RTO1 and TO as I had looked earlier due to the weather in ZZZ1 at the time. This situation has led me to realize it is most likely a better habit to have the FO read off the TLR data and I enter the numbers myself in the FMC. This was something I just didn't catch as I was starting to get tired from sitting there for an extended time.[The cause was] airspeed and altitude [being] unreliable due to an unknown problem. After reflecting on what occurred; I believe none of the altitude or airspeed information on my FO's outboard display unit was correct. I erroneously believed that ATC's readout of our altitude confirmed my FO's altimeter was correct without realizing his entire system had likely failed; providing erroneous information to ATC. The weather from the hurricane was certainly a contributing factor as my main concern was getting the airplane on the ground safely and landing in VFR conditions. Unreliable airspeed was the first issue. While flying level at FL310 it was my leg; and autopilot B was engaged. Suddenly; my altimeter shot up to FL317 and the autopilot initiated a descent. The Captain immediately took controls and disconnected the autopilot. As we were cross-checking and trying to gain an understanding of the state of the airplane; ATC queried our altitude because they showed us at FL317 instead of 310. Cross-checking revealed that the FO (First Officer) side was indeed showing FL317 while the CA (Captain) side showed FL310. Simultaneously; the FO-side airspeed showed an enormous slowing trend. Lastly; IAS and ALT disagree messages popped up on both the FO- and CA-sides.The Captain declared a pan pan pan at first then a bit later; [priority handling was requested]; but ATC apparently missed the call as he [requested priority handling] for us at a later time. The [priority handling] was reported [due to] unreliable airspeed and altimeter disagreement. I ran the checklist for IAS DISAGREE; which referred me to the UNRELIABLE AIRSPEED Checklist. In communicating with ATC; we determined that the standby and CA-side altitude did not agree with ATC; and the CA-side airspeed made the most sense when compared to the ATC reports. The difference was about 80 kt. between CA- and FO-side IAS. Also; the displayed GS was always within about 10 kt. of ATC's speed reports. At this point; the Captain was flying with reference to his airspeed and the FO's altitude.The Captain initially asked for a return to ZZZ1 and a block of altitude as he struggled fly with reference to both sides. Because there was still about a 700 ft. discrepancy between FO- and CA-side altimeters; it was decided to pick a field that had VFR landing conditions. The nearest such airfield was ZZZ2. As I continued with the checklist; we selected 'all on 1' on the ALT SOURCE switch. At that time; the 'disagree' messages went away; and the airspeed matched; but altimeters still did not agree. Upon reflection; I realize that the Captain had transitioned to the local altimeter setting below 18000; but I was still in the standard 29.92. Once I updated my altimeter setting; both altimeters matched. Now the only error message was 'source 2' because we had de-selected it. The checklist also directed to disable transponder altitude reporting. It occurred to us later that the transponder may have been providing ATC an erroneous altitude because it was coupled to the FO-side. At some point; unclear exactly when; we noticed the EEC switches were both showing ALTN with the corresponding ENG master caution. Once the UNRELIABLE AIRSPEED checklist was completed; we spent the rest of the flight trying to contact Dispatch about our [situation] and diversion; but at this point; we were unsuccessful as we were probably too low to communicate over ARINC frequencies. We were also busy setting up the approach into ZZZ2. We landed without incident.The second issue was departure with wrong takeoff thrust programmed. When we were finally ready to push and start engines; Ground Metering advised us on an updated ATIS and were told to expect Runway XXR departure. I reloaded the SID in the FMS with the updated runway and got a message that V speeds were erased. I went to the page to re-load the V speeds while the Captain referenced the TLR (Thrust Lever Resolver) for the new speeds for the new runway. As he referenced the TLR; he read aloud that we still had an R-TO-1 takeoff; same flaps; same weight; same N1 values; and same CG. He then read me the new V speeds which I loaded in the FMS. Since the engines hadn't started yet; we considered these items as part of the preflight brief and declined to do a runway change checklist. At some point; the Captain noticed that we were at full TO (Takeoff) thrust instead of R-TO-1 thrust. My low time on the aircraft prevented me from having the experience necessary to know that changing the runway not only deleted the V speeds; but also deleted the takeoff thrust settings. I should have verified all of the information was still correct as the Captain read it out.The cause of TO data error was task saturation. Weather conditions at ZZZ1: IFR / rain / 500 ft. CIG / winds gusting around 15 from the east. Outside factors [include] delay to cargo loading. Pushed an hour late. Updated ATIS 3 times while waiting to depart. All 3 said departing on Runway XY. Realizing the transponder was transmitting erroneous altitude information earlier would have greatly simplified matters. All performance data should have been reviewed in the FMC for the runway change. B737-800 flight crew reported an uneventful diversion due to unreliable airspeed and altitude indications during cruise.