Use osmconvert with a bbox or polygon filter.

There is also a splitter program associated with mkgmap which will write out one osm file into several. Lastly osmosis can also process files into multiple files, but it can be a little more complicated to get working.