First, note that isomorphism is a map between two objects which preserves the structure. The more structure, the "less" isomorphisms you might have. Isomorphism is an equivalence relation: the identity map gives us reflexivity; the fact the inverse of an isomorphism is also an isomorphism gives symmetry; and by composing isomorphisms we have transitivity.
This means that "locally" isomorphism is an equivalence relation on a set. What does that mean locally? If you take a set collection of structures, then isomorphism classes are equivalence classes which are sets.
Example: If we have two countable sets, without any structure then any bijection is an isomorphism of sets. However, if we give an ordering we may have less maps, lastly if we insist on well-ordering the sets then there is a unique isomorphism (if it exists to begin with).
When we say that $X$ is a topological space, or rather $(X,\tau)$ is a topological space we endow the set $X$ with some structure. In this case, a family of subsets of $X$ which has some properties.
So what is an isomorphism between two topological spaces? Firstly it has to be a bijection (as any isomorphism), but it has to preserve open sets. It is an open map, as well as a continuous map (as we want the inverse map to be open as well).
If so, an isomorphism between topological spaces is exactly a homeomorphism.
Of course, if the topology allows us - we can ask for more. If the topology is metric, then we can ask for an isometric map - which is not only preserving open sets but also the distance. We can ask for differentiable or measurable homeomorphism if the topological structure allows us.
For your second point, here are three possible solutions:
Firstly if we agree that sets of same cardinality may have the same topologies - we can choose a representative for a set of each cardinality, and consider only topologies defined on this set. This allows us simply to take the set of all topologies defined on $X$, which is a set since it is a subset of $P(P(X))$.
For example, if we wish to work with finite dimensional real vector spaces, for the sake of argument we can assume that the underlying set is always the same. It is a set theoretical cheat, since it prevents us from having $\mathbb R\subseteq\mathbb R^2$. However the latter is already an abuse of notation since $\mathbb R^2$ is a set of pairs, while $\mathbb R$ is not.
Secondly, we can use Scott's trick (named after Dana Scott) which is to use the axiom of foundations (known as axiom of regularity in some places) and define the equivalence classes as sets in the following way:
$$[(X,\tau)] = \{(Y,\rho)\mid (Y,\rho)\cong(X,\tau)\land\operatorname{rank}(Y)\text{ is minimal}\}$$
That is, we use the fact that every set can be given a rank, and the collection of sets in a given rank is indeed a set. Now we can take all the topological spaces homeomorphic to $(X,\tau)$ whose rank is the least possible.
Lastly, we can stay with classes (or move to a set theory which allows classes, such as Von Neumann–Bernays–Gödel set theory). Classes are syntactical objects. They are defined by a function, perhaps parameterized. In this case, the equivalence class of topological spaces homeomorphic to $(X,\tau)$ can be defined using $(X,\tau)$ as a parameter.