Phosphates can cause algae also. If you have an algae problem, you could try using some phosphate remove pads. This could help... I don't know of any hang on filter that removes algae specifically. I use an ultra violet sterilizer. This will kill any water borne algae that passes through it. I also use ozone fed to my skimmer. Ozone will increase the disolved oxygen levels of your tank and make it harder for algae to grow. It does this by increasing the water's "red-ox" potential... (different topic)
If you want to control algae, it is best to set up your tank properly first and do proper maintenance. Make sure that you have enough filtration. Make sure that you keep it clean and changed regularly. Don't overfeed your fish... Don't overstock... Don't let your lights get too old... Even if the bulbs look good, most will not last longer than a year without having the spectrum shift, causing algae. Put in lots of living rock, use a skimmer. I find it good to also use a trickle filter (wet/dry) and a refugium with macro algae such as mangroves... Set up your tank right first, then you can use other things like phosphate removers and activated carbon to "fine tune" the water.
DI water is not the same as RO water. RO water is water that has passed through a fine membrane. This leaves most of the impurities behind. It is a very good method of filtering. But RO systems can not remove ALL of the dissolved minerals. Some of them are ionically bonded to the water molecules and the only way to remove them is to pass the water through a DI filter after it has been run through a RO filter.
If you could only pick one or the other, it would be best to get a RO filter until you could add a DI filter to it. DI filters will remove the ionically bonded minerals from the water but don't do as good of a job at removing other impurities like simple dirt... That's what RO filters are good at...
But like I said, there are many RO units that have a built in DI filter... That would be the best option.