I think there are a couple of catches involved:
1) To bombard the city would be interpreted as a siege/assault -> objective: to capture the place.
2) Most ships don't really come with canons powerful enough to clear a hole in a wall or some such thing. Not until later ages.
3) The proverbial hit in the face your PC would experience because of having to render two demanding situations at a time (city + naval battle).
4) The fact that the engine now has to be able not only to embark/disembark but also to do so with a significant heigt distance. Also, this would require a yet another embarking/disembarking anime to be added. (Besides from one ship to another.)
5) It would require to have both city and port at one location on the stratmap. I think there was a reason why this hasn't been the case yet. Perhaps the extra amount of sophistication the program would require? (As in you need to have cities landlocked; cities with a seafront; and ports for the cities who are landlocked when the province isn't.) Plus of course the fact that a port needs to be detected in a different, more complex way. (I.e the pixel method of RTW's map_regions (or equivalents thereof in other TW games) would not suffice.)