Queries for Push Topics are standard SOQL and that they should follow the SQOL syntax and limitations. There are some statements in SOQL which are not supported for Push Topics. Asterisk (*) is not a valid character in SOQL and thus you are getting that error.
As for SOQL limits, the maximum character limit for a SOQL is 20,000 characters. As long as you can accommodate the columns within these character limits, and if you are not using the unsupported statements, you can achieve what you are looking for. If your query exceeds these limits, then you can't. From a design perspective, ideally you should not be looking to subscribe for all fields on an object. This could easily become a bottleneck as you are already experiencing and that it deviates from the intent of Push Topics. You don't really transfer all data with Push Topics but only what is relevant.
While I am not completely sure about your use case, but I will recommend that you also take look at Change Data Capture. Using Change Data Capture, you can subscribe to objects and that whenever a field value changes, you will always be able to get the value of that particular field. That way you will not have to maintain specific fields which you need to subscribe.