Of course they can do that. I'm sure it is all buried in the-fine-print-that-nobody-reads. But consider a few situations:
Regular Credit Card Usage with Problems
A customer has a credit card with a $10k limit. They routinely borrow a few hundred $ and pay it back on-time. Other times they pay the minimum due each month. No problem.
Then they stop paying anything. One month, no big deal. After a few months, the credit card company may decide to take some steps to make sure they (a) collect the money owed and/or (b) prevent possible larger losses. Such as:
- Lower the outstanding credit limit - i.e., allow some small purchases but not large purchases
- Cancel any future use of the card
- Turn it over to a collections department
If they just let it go at "full credit limit" until the expiration date printed on the card, they could be out a lot of money.
Going Out With A Bang
Someone has a credit limit of $10k. They hardly use it at all. A few hundred a month, paid back quickly. Then suddenly they want to pull out $10k at one time. The company may look at the situation and say "No", out of concern that it is either fraudulent (stolen card, etc.) or that the customer is going to try to "take the money and run". Depending on what they find initially, they may choose to cancel the card/credit limit altogether, or they may lower the limit or they may do nothing at all if they think that it was just too much at once but not an indication of fraud.
External Factors
When issuing a large credit line, a company may choose to get a full credit report. If that shows a certain quality of customer then they issue the credit line. Later on they may, either prompted by activity or by periodic review for other reasons, get a new credit report that shows a lower quality of customer - i.e., less likely to pay back in a timely manner. They can then choose to reduce or entirely cancel the credit limit.