There is not a crop option in the upload behavior, but there is a crop option in Image Resizer.
Image Resizer will work fine when using image paths that are called from a database and shown in a repeat region as long as you are using a standard image tag and set the width and height to use, for example:
<img src="path/to/image/<?php echo($row_recordsetName['ColumnName']); ?>" width="200" height="200" />
image resize looks at the width and height settings in the image tag to determine the settings for the resized image.
You'll need to find a different solution for the occasions when you are using the Nivo Slider, there is no "one size fits all" fix for this. you can ask in the Nivo Sliders forums for information on restricting the width and height of the thumbnails, I'm sure the has to be a way in the Nivo Sliders script, but I haven't used it before, so can't really comment.