Is there a way to take my Blueprint's exposed variables and rearrange them and/or separate them in their own categories? As it stands their order is bound to be, well out of order

They follow the order you declare them in C++ code.
To make them part of a group, in UPROPERTY() body you can add

category = “group name”.