is there an option or a plugin that resizes an image depending on it's orientation?
Reason for this question:
Im building an image grid and it would look even better when all images would have the same width.
If you need the images to be the same width but varying heights (ie not 300 x 300 but 300 x anything) then in settings -> media add 9999 to the height of whichever image size you want to use.
You can also define your own custom thumbnail using the same principle: http://codex.wordpress.org/Function_Reference/add_image_size
[EDIT] As @brasofilo suggests, you can also use 0.