usually its good to train him when theres guys weak to water or give him exp share hope i helped :)
Train a mudkip to level 36.
You can't you must train marill to get azumarill.
ANYWHERE
Nowhere.
a place with strong Pokemon
Try the grass in Lilycove City, or go train in Victory Road.
grass
Other than secret bases the best spot is the Pokemon league.
Seafoam Islands.
You an train Pokemon in the grass
give shelgon exp share and keep battleing the elite four.
Well a good place to train would be Route 120, 121, or 122. Or routes 126, 127, or 128. Or just the wild pokemon of victory road.