An Arduino can safely operate the linked solid state relay, though you will probably want to use a transistor between the Arduino and the SSR to provide the needed current. The datasheet for the TSR-40DA-H gives an example. The SSR you've chosen switches all three phases at once from a single input - there's no problem with the Arduino controlling all three phases.
The heating element you linked to has a temperature control. If all you want to do is to control the temperature, then all you have to do is turn the heating element on and let its built-in temperature control do its job.
If you want to regulate the power, then you will need to set the temperature control on the heater to a maximum temperature so that it will be on all the time when it has power.
The SSR you chose can only switch off when the AC voltage crosses zero volts. You would have to synchronize your PWM with the AC sine wave to do much good. As noted in the comments, without synchronization your PWM will switch on at random times during the cycle then switch off at the next zero crossing. The consumed power will not be regulated at all - it will wander up and down.
Heating elements don't heat up all that fast. You'd normally turn the heating elements on or off for several seconds at a time rather than switching the full 9000 watts dozens or hundreds of times per second. It would still be sort of PWM, but with on and off times of seconds rather than milliseconds.
The standard Arduino PWM would be too fast - it isn't readily changed to something slow enough.
The Arduino TimerOne library allows PWM with a time period of up to a bit over 8 seconds. That would allow you to use a hardware timer to control the PWM output - that's more reliable than using sleep loops to time things. Set the period to the TimerOne maximum, then set the PWM proportion and let the hardware provide the pulses. With a very slow PWM, you don't have to worry about synchronization since the pulses will always be longer than a single AC half cycle.
Electrically, the Arduino can safely do the job. The real question is whether or not it will continuously do the job without fail. If the Arduino hangs, then the PWM could be stuck at full on or at full off.
If the system hangs at full off, no problem. You are "losing" out on some energy you might have used to make hot water.
If the system hangs at full on, you had better have some kind of back up system to make sure that the hot water heater doesn't overheat and turn into a steam-bomb.
- The heating element you chose has a temperature regulator - make sure to set it a safe limit for your water tank.
- Make sure your water tank has a functional over-pressure release valve so that if it does overheat it will vent the steam instead of building up pressure.
Solid state relays can fail, also. From what I've read, they often fail so that they are on - that will put full power to your heating element. The same caution applies here as to the Arduino - your tank must have a pressure release valve to prevent explosions.
A final point about the SSR: The ones you get on eBay may be fakes or factory rejects. The quality is a crapshoot. You'd be safer buying one from a regular dealer rather than eBay or Alibaba or whatever. It costs a few bucks more when you buy it, but it's a good investment when failure can destroy your home.