Three things must be true in order for 2 mismatched sticks to work:
1) They both must work at the designated speed of the lower stick. In your case, both sticks must work at DDR333 (166mhz). Typically there is never an issue with a DDR400 stick being clocked at a slower rate. However, there can be, which is point 2:
2) They both must work at the same timings at the designated speed as detected by SPD. The motherboard will automatically what timings to use for the sticks, but there is no guarantee that the faster stick will operate properly at the timings assigned to it at the lower speed. You have roughly a 90% chance of success here though, so don't worry.
3) The sticks both must be compatible with the motherboard. Provided 1) and 2) are true, as long as the sticks work with the board you should be good to go. Because these are of such different size, do not put them in a dual-channel configuration.
However, a question. Why? The difference between 512mb and 620mb is going to be minimal at best, and you are sacrificing a considerable chunk of memory bandwidth in doing so, especially with a P4.
I would advise not doing it from a performance standpoint.