As much as I like Aseprite, I actually prefer PS to Aseprite for environment work, because I prefer the way it does grids and because it's easier to move stuff around xP Aseprite's strengths lie in sprite work and animation, imho.
Having a tile grid and blocking in larger shapes and then refining from there with the tile grid in mind is basically how I make my tilesets, so yeah, I'd say it's a decent way of working.
Chopping up the image: you shouldn't need to, since tiles are usually used from a tilesheet rather than as separate files. If you create your tileset with the grid, then all your tiles will already be placed according to the grid, so the most you should need to do is rearrange them to avoid repetition and empty space. Both PS and Aseprite make it easy to snap selections to the grid, so you can easily move tiles around.
For example, here's
a screenshot of one of my work-files and the relevant part of the tileset once it's been arranged. (Also,
here's another screenie from the blocking-in phase, just to make sure we're on the same page regarding that.)
If for some reason you do need every tile as a separate file, both PS and Aseprite have slice support, and both allow snapping to the grid while creating slices.
Mixing tile sizes: That depends on your engine and your tools. There's nothing inherently wrong with having different tile sizes per layer, but you may run into problems using them. For example, Tiled Editor has a fixed tile size for the entire map, so you can't mix tiles of different sizes. If your tile sizes are multiples of each other (e.g. 64 is exactly twice 32), then you can use the larger tiles as meta-tiles composed of several real tiles, though this does also mean you won't get to make full use of the editor's auto-tiling tools.
If you know your engine and your level editor support tiles of variable sizes, then by all means, make them! Otherwise, stick to a consistent tile size to be safe.