Can I replace a 2N222 by a BC558B, BC549C or BC327?
Your understanding is correct, in that you have to careful about subjecting your I/O pins directly to external devices. Sometimes, that is because the external device requires a different (usually, when it is a concern, this means higher) voltage than your I/O pin can provide or tolerate. Sometimes, that is because the current compliance of the I/O pin isn't nearly enough. (This is the ability to sink [towards ground] or source [from the power supply] current.) It's a good idea to stay well below the maximum current compliance too, because the I/O pin voltage itself is pulled away from its nominal value at the higher currents within its compliance range.

The fact that you sometimes see negative, as opposed to positive, values for different transistors when you read their datasheets is a matter of convention. There are two kinds of bipolar transistors (BJTs), NPN and PNP. By convention, the specifications use a different sign for similar parameters listed on the sheet. When considering limitations of one or the other, you focus more on the magnitude than the sign. If you see the "wrong" sign, it probably just means that you are looking at a PNP instead of an NPN you wanted, or that you are looking at an NPN when you wanted a PNP.

The \$V_{ce}\$ term is usually important for one of two things: (1) figuring out the maximum voltage that the transistor will withstand safely when OFF, or (2) figuring out the dissipation on your transistor when operated as a switch that is ON. In the first case, if you are trying to operate a 12V motor, for example, you want to make sure that the BJT can withstand 12V when it is off. (Most will do that.) So you check that parameter on the datasheet. Sometimes, you may want to switch 60VDC and if that is the case there are a number of BJTs that won't handle it. But as a general rule, almost all can handle 30V or so and often 40V. In the second case, you need to look at some of the curves for the transistor and see what \$V_{ce}\$ is when operated in "saturated mode." As a rule, driven sufficiently, small signal BJTs will achieve as little as \$200mV\$ and perhaps even less (less is better.) This can be combined with your current (amperage) requirements for the load to figure out estimated dissipation at the BJT itself.

The \$V_{be}\$ value is usually taken as 0.7V without reading a datasheet as a first approximation for small signal BJTs (most of the small ones.) It's just an estimate used to get a rough idea about setting the value of a base resistor used in driving a BJT. For example, if you have \$5V\$ outputs you might "estimate" that the actual output will be \$4.8V\$ (just to give yourself a little margin) and recognize that \$V_{be} \approx 0.7V\$, leaving only \$4.1V\$. This must appear across the base resistor you use. If the base current needs to be 20mA, let's say, then you know that the resistor is \$\frac{4.1V}{20mA} = 205\Omega\$ So you might then select a \$220\Omega\$ or a \$180\Omega\$ resistor for that purpose.

You mentioned that you need 1A peak and 800mA continuous. That's a lot for most small signal BJTs. So this suggests you need to be careful here and select a BJT that is able to handle it well. It's possible that \$V_{ce}\$ will be a little higher here, because of the higher current for one thing. So for example, if \$V_{ce}\$ will be \$300mV\$ and the continuous load is \$800mA\$ then the dissipation is \$\frac{1}{4}W\$. The BC637 and BC639 are NPN devices that can handle 1A continuous and at \$800ma\$ they have typical \$V_{ce} \approx 300mV\$, too, with \$\beta=10\$. Might be an option here, except that your I/O can't handle \$100mA\$ drive (which is \$\frac{1}{10}\$th of 1A.) So this is starting to look like either a MOSFET solution or else a two-BJT solution.